c++ - 链接器在同一目录中找不到静态库

标签 c++ linker mingw static-libraries codeblocks

我正在将一些 Visual Studio 2008/VC9 内容移植到 Code::Blocks/MinGW,由于某种原因,链接器无法从工作区中的另一个项目找到静态库。

在 Visual Studio 2008 中,我可以将静态库项目设置为依赖项,它将按照正确的顺序构建(即需要在链接其他项目之前构建静态库),并链接正确的配置库.

我在 Code::Blocks 中找不到这样的选项,因此我确保首先显式构建静态库 (libcommon.a),然后在另一个项目的“构建选项”下添加“libcommon.a” “链接器设置”。 .a 文件与项目文件位于同一目录中,但是我仍然从其他项目的链接器收到错误,说他们找不到它...

ld.exe cannot find -lcommon

我在做什么,所以它无法找到该库,即使它就在项目文件旁边?

还有更好的方法来模拟单个解决方案/工作区中的 Visual Studio 依赖项吗?

最佳答案

显然,包含项目文件的目录不包含在链接器搜索路径中,需要通过将“.\”添加到包含项目库文件的目录列表中来显式定义。

关于c++ - 链接器在同一目录中找不到静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880676/

相关文章:

C++ - 绕过 WinSock Hook

c++ - 引用 front 和 pop_front

c++ - 为什么仅仅因为有一个用户定义的析构函数,复制构造函数就不是微不足道的了?

c - GNU ld 不能与 libboost 静态链接,但可以动态链接

c++ - 在 dll 中嵌入序言引擎

c++ - GCC 8.3 + Linux 上的 boost::thread_specific_ptr 的 Valgrind 错误

c++ - 查找导致链接库函数的函数

c++ - 在不同项目中使用 header 时出现 LINK2001 错误

c - 如何在最新编译器中使用仅限 C 的功能?

编译器不给出错误 undefined reference 的行号