我确信这个问题已被提出许多不同的形式(事先道歉) - 我正在使用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
答案 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。