簡體   English   中英

CodeLite MinGW32 無法鏈接到.dll.a 文件

[英]CodeLite MinGW32 cannot link to .dll.a file

我最近轉移到 CodeLite 進行 C 開發,我一直在努力讓 sigil 為 MinGW32 工作。 我一直在嘗試使用庫所在的路徑F:/sigil-mingw32從項目設置中將其包含在本地。

我將參數“編譯器/包含路徑”設置為F:/sigil-mingw32/include並將“鏈接器/庫搜索路徑”中的 linker 路徑分別設置為F:/sigil-mingw32/lib

我已經將我的“鏈接器/庫”設置為包括庫“libsigil.dll.a”,但是當我構建我的項目時,我得到了 output:

c:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -l-libsigil.dll

然后構建失敗。 為什么 linker 不包括庫 dll 文件中的 .a 后綴?

事實證明,CodeLite 可以直接鏈接導入的庫,而無需將完整路徑添加到您的 linker 設置中。 與 CodeBlocks 不同,當給定庫文件的直接路徑時,linker 不會刪除 dll.a 庫中的“lib”前綴。 因此,而不是“path/lib/libsigil.dll.a”,僅在鏈接器/庫搜索路徑中提供庫文件夾的位置,並且參數將直接傳遞給 gcc,其中不包括“lib”前綴。 所以將參數設置為“sigil”而不是“libsigil.dll.a”就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM