我正在使用 Xcode 4.5 和 LLVM 4.1 来编译我正在处理的一些代码。
我反复得到的错误是:“错误:使用未声明的标识符'assert';
正确的包含在标题中(#include cassert(我也尝试过#include assert.h)但没有运气。
其他人获取了我的确切代码并在另一台运行相同设置的计算机上编译它(Mac OSX 10.8、Xcode 4.5、LLVM 4.1)。
我和你的错误完全相同。就我而言,事实证明包含路径上还有另一个 assert.h(CMake 为 gmplib 引入了错误的包含路径。我在 make VERBOSE=1 时发现了错误的包含路径)。不确定这里是否相同。LLVM 本身对这样一个旧的头文件应该没有任何问题。
今天碰到这个,我已经Always Search User Paths
开机了。
这些错误是否发生在boost代码中?如果是这样,您可以通过在构建设置中包含以下预处理器定义来关闭断言(并消除错误)。
BOOST_DISABLE_ASSERTS