【问题标题】:Linker (ld v2.23.2 from MinGW) error at form: -L<SOMEDIR> -l<lib1 -l<lib2>,链接器(来自 MinGW 的 ld v2.23.2)错误形式:-L<SOMEDIR> -l<lib1 -l<lib2>,
【发布时间】:2015-03-26 05:08:41
【问题描述】:

拥有来自 mingw-builds 4.8.0 32 位套件的 ld v2.23.2。在我的项目中的一个目录中有 libs:libitpp.a 和 libitpp.dll.a。第一个是简单的静态库,第二个是将库导入对应的共享库(Windows 上的 DLL)。

我告诉链接器以下列形式链接库: -L$$ITPP_DIR/库 -litpp 并且链接器总是选择第二个库(libitpp.dll.a),但我想要第一个(libitpp.a),因为“-litpp”完全匹配。

在明确的指示下: $$ITPP_DIR/libs/libitpp.a 没事。

链接器使用 -l"lib" 指令查找库的规则是什么?

提前致谢。

【问题讨论】:

    标签: c++ windows linker mingw import-libraries


    【解决方案1】:

    这可能是一个重复的问题,但与其责备你,我将再次给你文档链接:https://sourceware.org/binutils/docs/ld/WIN32.html#WIN32

    相关信息将在子标题“直接链接到 dll”下找到;请注意,当两者都存在时,ld 总是更喜欢 libfoo.dll.a 而不是 libfoo.a,除非您为 -lfoo 指定 -Bstatic,或更一般地为所有此类模棱两可的 -l 规范指定 -static。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多