c++ - Boost mingw链接错误

标签 c++ windows boost mingw

我似乎在使用 Windows 上的 mingw 链接到 boost 库时遇到问题。我在 google 和 stackoverflow 上上下搜索,但没有一个答案能解决问题。

它无法找到或链接到“-lboost_threads”。编译时出现“未定义错误”。

也许知道怎么做的人可以帮我解决。

在 Windows 上使用 boost v1.48 和 mingw。

编辑:

错误是“...mingw32/bin/ld.exe 找不到 -lboost_thread”,因为在这种情况下通常会这样。

谢谢。

最佳答案

链接器命令行参数 -lboost_thread意味着链接器应该看起来 boost_thread在其 library paths (您可以使用 -Lpath/to/library 添加它。它会尝试在具有以下文件名之一的文件中查找库:

  • libboost_thread.a (GCC 类型的存档库 - 在这种情况下这就是您所需要的)
  • boost_thread.lib (MSVC 库 - 请注意,如果它们使用 C 而不是 C++,则 MinGW 可以链接它们))
  • 还有一些扩展(不相关)。

无论如何,此错误消息意味着链接器无法在包含路径中找到此类库。检查库文件的位置(你应该知道);如果它在你的编译器的 lib 中文件夹,那么它已经在您的链接器可以找到它的地方。也许你拼错了名字?否则添加适当的 -L命令行参数,以便链接器知道在哪里查找文件。

(还有 boost_thread 或 boost_threads?)

关于c++ - Boost mingw链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8237116/

相关文章:

python - 附加到上一行

node.js - npm 命令什么也不做 - Windows

c++ - 尽管包含在 PATH 中,但无法识别 Boost 库文件

c++ - `f();` 怎么可能是下面的声明呢?

c# - 使用实时流的语音识别

c++ - 在前一个完成之前再次调用 boost ASIO async_receive()

c++ - 忽略以前版本的 boost C++

c++ - 将 lambda 函数作为参数传递 C++

c++ - 一种在 C++ 中强制使用接口(interface)的方法

c++ - 如何在文本突出显示期间保留语法突出显示