3

我刚刚在我的 Intel Mac 上第一次安装了 boost,只要我只使用 boost 的头文件,它就可以正常工作。

但是当我尝试使用一个库时,在我的情况下是正则表达式库,我的应用程序链接并启动正常,但很快它就会在一个正则表达式相关的析构函数中崩溃。

这甚至发生在boost.org 的 unix 安装页面上给出的简单测试程序中。

我想知道除了设置搜索路径和包括正则表达式库之外,我是否需要设置特殊的编译/链接选项(我使用了 C++ 工具的默认值)?

(顺便说一句,我已经验证我系统上的默认编译器确实是 gcc 4.01,这与我在 XCode 中使用的测试项目相同)

4

2 回答 2

1

对自己的回答:

虽然尚不清楚导致此问题的原因,但有一种解决方法:

不要使用 boost 安装程序构建的库,而是将库的源代码(在 boost-main-folder/libs/ libname /src/ 中)添加到您的 Xcode 项目中,让 Xcode 为您编译源代码。

于 2008-12-20T11:32:52.870 回答
1

我知道这个线程很旧,但现在即使使用 Boost 1.53,这仍然会发生。我在稍后的另一个线程中得到了回答——交叉链接,以防有人通过谷歌或其他搜索找到这个。

使用 C++11 选项重新编译可以解决问题。显然,这不是clang的默认设置。

于 2013-06-20T15:16:11.533 回答