C++ Xcode 4.5.2中的boost::regex链接问题
我相信这个问题已经被问到了很多不同的借口,事先道歉- 我使用的是Xcode 4.5.2 非常简单的终端应用程序如下C++ Xcode 4.5.2中的boost::regex链接问题,c++,regex,boost,xcode4.5,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环境相对较新,我对如何
#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您可能会遇到链接器错误,因为您没有实际构建Boost.Regex库 请遵循Boost文档中的说明: 在shell中发出以下命令不要键入$;那个 表示shell的提示: 选择您的 配置选项并再次调用./bootstrap.sh,而不使用 -帮助选项。除非您在系统的/usr/local/目录中具有写权限,否则您可能至少要使用 安装 在别的地方。此外,考虑使用显示库和 -with libraries=库名列表选项,用于限制在构建所有内容时将经历的长时间等待。最后, 将Boost二进制文件保留在的lib/子目录中 您的安装前缀。您还可以找到Boost的副本 安装前缀的include/子目录中的头,因此 此后,您可以使用该目录作为包含路径来代替 Boost根目录
最后,请确保您可以从Boost文档中构建和运行。您有没有想过这一点?如果你这样做了,我和其他人可能会从这个答案中受益。@TreverDixon见下面我的答案
$ cd path/to/boost_1_53_0
$ ./bootstrap.sh --help
$ ./bootstrap.sh --prefix=path/to/installation/prefix
$ ./b2 install