美好的一天!我在eclipse中運行一個C++項目main.cpp。我想使用我現有的.so文件並將其鏈接到main.cpp中。我正在尋找這個,但無法爲我找到正確的方法。我使用的是Ubuntu。謝謝你的幫助!無法將創建的.so文件鏈接到main.cpp
回答
要鏈接庫,您需要提供編譯器(或鏈接器)-l
標誌和庫名稱。例如,如果要鏈接到名爲libjustine.so的庫,則需要提供編譯器(如果是C,則爲gcc,如果爲C++,則爲g ++)標記-ljustine
,然後編譯器會指示鏈接器與文件鏈接libjustine .so(通常至少爲/usr/lib/和/usr/local/lib/)。
但是,如果要定義自己的庫目錄,例如的lib/目錄項目目錄裏面,你需要使用-L
標誌,並提供所需的庫目錄(相對於當前目錄)方式,例如-L/lib/
所以編譯器可以指示鏈接來尋找所需的庫從的lib/而不是例如/usr/lib目錄/它查找默認的文件。
你能給我一個例子代碼來做到這一點?例如,我想將libjustinte.so鏈接到main.cpp。是需要安裝libjustine.so還是隻需要將其放在/ usr/lib或/ usr/local/lib中?感謝您的回答! –
我不知道你如何在Eclipse中定義鏈接器選項,所以我不能直接回答你的問題。但是,是的,您需要在所謂的庫路徑中包含* libjustinte.so *文件。這*通常包括例如/ usr/lib和/ usr/local/lib,所以兩者都應該工作。正如我在答案中提到的那樣,您還可以使用'-L'標誌爲您的C或C++編譯器(gcc/g ++)提供相對於當前目錄定義庫的路徑。 – zxcdw
如果我有類似libv8.so.3.8.9.20的東西呢?它似乎沒有工作...... :( – m93a
- 1. 關於Linux .so文件無法鏈接到main.cpp文件
- 2. Eclipse鏈接.so無法找到.so.4
- 3. 如何將.so文件鏈接到.so文件
- 4. Android無法鏈接* .so lib
- 5. 創建.so文件
- 6. 鏈接/註冊.so文件
- 7. 無法將html文件鏈接到jquery
- 8. 創建鏈接到csv文件的表
- 9. 是否possilble到.so文件鏈接到某文件
- 10. 無法將user_id鏈接到新創建的對象 - rails 4
- 11. mklink連接點鏈接無法創建文件
- 12. Mac OS X將.so文件鏈接到動態庫
- 13. 無法創建文件夾拉鍊/ laravel
- 14. QXmlSchema無法找到鏈接的文件
- 15. 無法在httpd-2.4.18中創建.so文件
- 16. 創建編輯鏈接到sharepoint文件
- 17. 創建鏈接到共享文件夾鏈接到MediaWiki
- 18. 無法加載.so文件
- 19. 無法鏈接到C++編譯的/.so源庫
- 20. g ++無法將.o文件鏈接到可執行文件中
- 21. android:鏈接器錯誤.so文件
- 22. 如何鏈接.so文件在android中
- 23. ndk構建和.so文件創建android
- 24. Git:無法創建符號鏈接(文件名太長)
- 25. 無法創建鏈接從服務器下載文件
- 26. 將依賴的.so文件與Android的ndk-build鏈接起來
- 27. 可以將.so文件靜態鏈接到可執行文件嗎?
- 28. HotTowel:無法鏈接到文件
- 29. Jade無法鏈接到JavaScript文件+ node.js
- 30. QPrinter來鏈接無法找到文件
發佈相關的錯誤代碼。 – dirkgently