![](/img/trans.png)
[英]Having issues with linking to boost library (C++ in Visual Studio 2013)
[英]Issues with linking library C++
我的問題是我無法在當前項目中包含一個庫。 [將netbeans中的庫包含到項目中的方法是通過鏈接器將其鏈接到項目。 但是,在我當前的項目(由離開組織的另一位程序員編寫的項目)中,沒有顯示鏈接器選項。 我已經附上了截圖。 我面臨一個問題,即通過鏈接器鏈接到我當前項目的庫選項沒有出現在IDE中。 有人可以請幫幫我。 我也將非常感謝您。
請指導我如何將庫鏈接到我的項目。 我確實花了很多天這樣做,但是我沒有成功。
假設您只對libspatialindex感興趣:
locate libspatialindex
並查看其安裝位置。 您可以使用* .a,*。so或類似的擴展名。 注意路徑。 gcc -i main.cpp -L/usr/lib/ -lspatialindex -o myfile
將-L / usr / lib替換為您知道該庫所在的實際位置。
cxx鏈接標志通常是帶有-l前綴的庫的名稱。 例如,如果在系統中找到的名稱是libspatialindex.so
那么嘗試使用-lspatialindex
是一個不錯的選擇。
有一種方法可以在Debian和Ubuntu系統上找到實際的標志,但是我不記得它了。 或者,您可以隨時在Google上閱讀或閱讀圖書館文檔。
當您通常看到帶有未定義函數等的鏈接器錯誤時,這意味着您沒有鏈接,只要您已包含標頭並找到它們即可。
現在,對於Netbeans,我假設可以選擇將額外的參數傳遞給編譯器。 在這種情況下,只要Netbeans知道在哪里可以找到庫和標頭,您就需要-lspatialindex
標志。 這就是我在KDevelop和其他IDE中使用的方式。
另外,如果您想要更多的控制和更多的自動化,則可能需要使用cmake之類的工具。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.