Xcode 4.5.2中的boost :: regex链接问题

时间:2012-12-09 06:05:12

标签: c++ regex boost xcode4.5

我确信这个问题已被提出许多不同的形式(事先道歉) - 我正在使用Xcode 4.5.2

非常简单的做什么终端应用程序如下...

#include <boost/regex.hpp>
int main(int argc, const char * argv[])
{
    boost::regex regday_pattern("\\");
    return 0;
}

欣赏boost中的正则表达式需要一个库而不仅仅是一个boost头。对于xcode和下面的unix环境比较新,我对我如何需要设置有点困惑,这样我就不会得到以下链接错误......

架构x86_64的未定义符号:   “的boost :: basic_regex

我们将非常感谢您对此问题的任何帮助 - 我已阅读过几个针对类似问题的回复,并且无法将这些问题与我的情况相对应。 TIA

1 个答案:

答案 0 :(得分:0)

您可能会收到链接器错误,因为您实际上并未构建Boost.Regex库。

请按照Boost文档中的build instructions进行操作:

  

在shell中发出以下命令(不要键入$;那个   表示shell的提示符:

$ cd path/to/boost_1_53_0 
$ ./bootstrap.sh --help 
  

选择你的   配置选项并再次调用./bootstrap.sh而不使用   --help选项。除非您在系统的/ usr / local /目录中拥有写入权限,否则您可能至少需要使用

$ ./bootstrap.sh --prefix=path/to/installation/prefix 
  

安装   别的地方。另外,请考虑使用--show-libraries和   --with-libraries=library-name-list选项可以限制您在构建所有内容时所经历的漫长等待。最后,

$ ./b2 install 
  

将Boost二进制文件留在lib/子目录中   你的安装前缀。您还可以找到Boost的副本   标题位于安装前缀的include/ subdirectory中,所以   此后,您可以将该目录用作#include路径来代替   Boost根目录。

最后,确保您可以从Boost文档构建并运行Regex example