1
我將一些Visual Studio 2008/VC9的東西移植到Code :: Blocks/MinGW,並且出於某種原因,鏈接器無法從工作空間中的其他項目中找到靜態庫。鏈接器無法在同一目錄中找到靜態庫
在Visual Studio 2008中,我可以將靜態lib項目設置爲依賴項,並且它將以正確的順序構建(即在連接其他項目之前需要構建靜態庫),並鏈接正確的庫組態。
我在Code :: Blocks中找不到這樣的選項,所以我確保先顯式構建靜態庫(libcommon.a),然後在「構建選項」下爲其他項目添加「libcommon.a」在「鏈接器設置」中。在某文件位於同一目錄中的項目文件,但我還是從其他項目的鏈接得到一個錯誤,說他們不能找到它......
ld.exe找不到-lcommon
我在做什麼,所以它無法找到圖書館,即使它右邊的項目文件?
還有更好的方法來模擬單個解決方案/工作區內的Visual Studio依賴關係嗎?
您的錯誤消息提到「-lcommon」,但您說您的庫名爲「libcommon.a」。我不熟悉Code :: Blocks; 「-lcommon」翻譯成「libcommon.a」嗎?您始終可以運行文件監視器並查看鏈接程序正在查找的文件(以及在哪個目錄中)。 – Luke 2009-12-12 18:54:22
嗯,我特別告訴代碼塊鏈接「libcommon.a」,它給了鏈接器「lcommon」,所以我要去與編譯器不期望進行「lib」和「.a」擴展名。其他庫工作正常,文件名與鏈接程序獲取的內容相同。 – 2009-12-12 19:10:32