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

boost::regex linking issue in Xcode 4.5.2

本文关键字:Xcode regex 链接 问题 boost      更新时间:2023-10-16

我相信这个问题已经以多种不同的形式被问过了(提前道歉)-我正在使用Xcode 4.5.2

很简单什么都不做的终端应用程序如下。。。

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

请注意,boost中的regex需要一个库,而不仅仅是一个boost头。由于对xcode和下面的unix环境相对较新,我有点困惑,不知道我需要如何进行设置,以免出现以下链接错误。。。

体系结构x86_64的未定义符号:"boost::basic_regex

在这个问题上的任何帮助都将不胜感激——我已经阅读了几篇对类似问题的回复,但很难将其与我的情况相匹配。TIA-

您可能会遇到链接器错误,因为您实际上没有构建Boost.Regex库。

请遵循Boost文档中的构建说明

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

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

选择您的配置选项和调用/bootstrap.sh--帮助选项。除非您在系统的/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示例