C++ Boost 库链接器找不到,无法编译

发布于 2025-01-01 13:37:20 字数 520 浏览 1 评论 0原文

我正在尝试使用已编译的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何时共饮酒 2025-01-08 13:37:20

您需要将您的程序链接到 Boost 预编译库。

示例:

c++ -I path/to/boost_1_48_0 example.cpp -o example \
 -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

请参阅此处的说明

You need to link your program to Boost precompiled library.

Example:

c++ -I path/to/boost_1_48_0 example.cpp -o example \
 -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

See description here

旧竹 2025-01-08 13:37:20

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文