[英]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.