【问题标题】:Issues with Boost Linking/Build in Dev-C++Dev-C++ 中的 Boost 链接/构建问题
【发布时间】:2014-07-05 10:00:26
【问题描述】:

我正在尝试编译一个个人程序,该程序使用 Orwell Dev-C++ 中的 Boost/Regex 库和 TDM-GCC 4.8.2 64 位版本,当我尝试初始化 Boost::Regex 对象时出现这些错误消息。

text$_ZN5boost9re_detail27cpp_regex_traits_char_layerIcEC2ERKNS0_21cpp_regex_traits_baseIcEE[_ZN5boost9re_detail27cpp_regex_traits_char_layerIcEC2ERKNS0_21cpp_regex_traits_baseIcEE]+0x2b): undefined reference to `boost::re_detail::cpp_regex_traits_char_layer<char>::init()'
regex_tester_main.cpp:(.text$_ZN5boost9re_detail11raw_storage6extendEy[_ZN5boost9re_detail11raw_storage6extendEy]+0x5f): undefined reference to `boost::re_detail::raw_storage::resize(unsigned long long)'
regex_tester_main.o: bad reloc address 0x5f in section `.text$_ZN5boost9re_detail11raw_storage6extendEy[_ZN5boost9re_detail11raw_storage6extendEy]'

我已经按照guide 安装了 Boost,并使用 gcc 作为 bootstrap.bat 和 b2 构建器的工具包参数。我在包含和库选项中包含了 includelib 路径。最后链接适当的 libboost_regex*.a 文件。在此之前,我尝试使用 mingw 工具包选项作为引导程序和 b2 的 gcc 选项,就像上面链接的教程一样,但遇到了同样的错误。任何人都可以深入了解出了什么问题吗?

【问题讨论】:

标签: c++ regex gcc boost mingw


【解决方案1】:

解决了!

我还安装了 Haskell GHC,它与 mingw/GCC 包一起打包,该包位于 PATH 环境变量中,而不是我打算用来构建 Boost 的 TDM-GCC/minGW-64 包。因此,当我指定我的工具集时,它针对的是错误的编译器,因此当我尝试使用 Boost 构建其他程序时,它可能会遇到一些名称修改问题。我从 PATH 中删除了 GHC 的 mingw/GCC 编译器包并重建了 Boost,它现在可以正常编译和链接:)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2012-11-26
    相关资源
    最近更新 更多