当前位置:  开发笔记 > 编程语言 > 正文

链接以增强gcc中的正则表达式

如何解决《链接以增强gcc中的正则表达式》经验,为你挑选了1个好方法。

我正在尝试编译我在linux上使用正则表达式的程序.我通过输入make -fgcc.mak在libs/regex/build中构建了boost库,它创建了一个目录gcc,其中包含以下四个文件

boost_regex-gcc-1_35
boost_regex-gcc-d-1_35
libboost_regex-gcc-1_35.a
libboost_regex-gcc-d-1_35.a

现在我想使用我的程序中的正则表达式,它位于某个任意目录中.我#include boost/regex.hpp

我收到的错误表明找不到regex.hpp.然后我在g ++编译器中给出了-I选项.我没有得到那个错误.但是我收到以下错误

undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator > >, std::allocator, std::allocator > > > >, boost::regex_traits > >::construct_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)'

我用谷歌搜索,发现我需要以某种方式将上述4个库中的一个链接到我的程序.我该怎么做.我应该链接哪一个?为什么?



1> greyfade..:

可以libboost_regex-gcc-1_35.a在链接步骤中添加-static -lboost_regex-gcc-1_35到目标文件列表中,也可以添加到目标文件中.还要确保-I在编译步骤中有一个指向boost包含目录的开关.如果库不在典型的搜索路径之内(/usr/lib在*nix上),请将该目录添加到链接命令中-Wl,-L/path/to/boost/libs,g++或者只是-L/path/to/boost/libs打开ld.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有