Dev-C ++中Boost链接/构建的问题

时间:2014-07-05 10:00:27

标签: c++ regex gcc boost mingw

我试图编译一个使用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构建器的工具包参数。我在include和库选项中包含了 include lib 路径。最后链接了相应的libboost_regex * .a文件。在此之前,我尝试使用mingw toolkit选项作为b2的bootstrap和gcc选项,就像上面链接的教程那样,并遇到了相同的错误。任何人都可以深入了解出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

解决!

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