我似乎在使用 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/