dev - c++中Boost链接/构建的问题

Issues with Boost Linking/Build in Dev-C++

本文关键字:构建 问题 链接 Boost c++ dev      更新时间:2023-10-16

我正在尝试编译一个使用Boost/Regex库的个人程序,在Orwell dev - c++中使用tdp - 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]'

我遵循本指南安装Boost,并使用gcc作为bootstrap.bat和b2构建器的工具包参数。我已经在我的include和library选项中包含了includelib路径。最后链接适当的libboost_regex*。一个文件。在此之前,我尝试使用mingw工具包选项进行引导,并像上面链接的教程一样使用gcc选项进行b2,并遇到了相同的错误。谁能解释一下哪里出了问题?

解决!

我还安装了Haskell GHC,它附带了一个mingw/GCC包,该包位于PATH环境变量的早期,而不是我打算用来构建Boost的TDM-GCC/mingw -64包。因此,当我指定我的工具集时,它针对的是错误的编译器,因此当我试图用Boost构建其他程序时,它可能会遇到一些名称混淆的问题。我从PATH中删除了GHC的mingw/GCC编译器包并重建了Boost,它现在符合并链接得很好:)。