【问题标题】:CodeLite MinGW32 cannot link to .dll.a fileCodeLite MinGW32 无法链接到 .dll.a 文件
【发布时间】:2021-01-10 01:19:49
【问题描述】:

我最近转移到 CodeLite 进行 C 开发,我一直在努力让 sigil 为 MinGW32 工作。 我一直在尝试使用库所在的路径 F:/sigil-mingw32 从项目设置中将其包含在本地。

我将参数“编译器/包含路径”设置为F:/sigil-mingw32/include 我在“Linker/ Libraries Search Path”中的链接器路径分别设置为F:/sigil-mingw32/lib

我已将“Linker/Libraries”设置为包含库“libsigil.dll.a”,但是当我构建我的项目时,我得到了输出:

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

然后构建失败。 为什么链接器会从库 dll 文件中排除 .a 后缀?

【问题讨论】:

    标签: c linker mingw mingw32 codelite


    【解决方案1】:

    事实证明,CodeLite 可以直接链接导入的库,而无需将完整路径添加到链接器设置中。与 CodeBlocks 不同,当给出库文件的直接路径时,链接器不会删除 dll.a 库中的“lib”前缀。 因此,在 Linker/Libraries Search Path 中仅提供库文件夹的位置而不是“path/lib/libsigil.dll.a”,并且将传递 Libraries 参数直接到 gcc,不包括“lib”前缀。 所以将参数设置为“sigil”而不是“libsigil.dll.a”就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多