C++ Boost 库链接器找不到,无法编译
我正在尝试使用已编译的 Boost 库进行编译。我可以使用仅包含头文件的 Boost 库进行编译,但现在我想使用需要编译的库,但无法让它工作。我使用 toolset=gcc 和 --build-type=complete 阶段构建了整个 Boost 库。我正在使用 Eclipse,并且链接库所在位置的文件夹:project_properties->c/c++ build->settings->mingw c++ linker->libraries 以及库搜索路径 (- L) 我正在链接文件夹路径。我收到如下错误:
undefined reference to `boost::regex_error::raise() const'
或者
undefined reference to `boost::re_detail::lookup_default_collate_name(std::string const&)'
我正在从 boost 教程设置指南编译示例代码,其中包括 boost/regex.hpp
I'm trying to compile using a compiled Boost libs. I can compile using header-only Boost libraries, but now that I want to use libraries that needs to be compiled, I can't get it to work. I built the whole Boost library using toolset=gcc and --build-type=complete stage. I'm using Eclipse and I'm linking the folder at where the libs are located at: project_properties->c/c++ build->settings->mingw c++ linker->libraries and at the library search path (-L) I'm linking the folder path. I'm getting errors like:
undefined reference to `boost::regex_error::raise() const'
or
undefined reference to `boost::re_detail::lookup_default_collate_name(std::string const&)'
I'm compiling an example-code from the boost tutorial setup guide which includes boost/regex.hpp
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要将您的程序链接到 Boost 预编译库。
示例:
请参阅此处的说明
You need to link your program to Boost precompiled library.
Example:
See description here
Eclipse:项目属性-> C++ 构建 ->设置->链接器-> 。
如果您想使用共享库,请将 boost_regex 添加到库;如果您想使用静态链接,请添加 :/usr/lib/libboost_regex.a (或 libboost_regex.a 所在的任何位置)
Eclipse: project properties -> c++ build -> settings -> linker -> libraries
Add boost_regex to Libraries if you want to use shared library or :/usr/lib/libboost_regex.a (or wherever libboost_regex.a is) if you want static linking.