我在XCode中编译一个项目,其中包含
MySQL并
链接到.出于某种原因,我不断收到以下编译器
错误:
‘assert’未在此范围内声明
源自cpool.h,一个头文件,是MysqL的一部分.有谁知道为什么会被触发?
编辑:作为参考,MysqL是通过Macports安装的.
最明显的答案是“assert.h”未包含在您的包含路径中或未在您的包含路径中找到.另一种解释是,在包含头部之后的某个时刻,断言宏未被定义.
编辑:因为你说assert.h被包含在内,我们暂时认为它是被发现的,因为它是一个标准的标题,那么这就让我们得到了上面提到的最后一种可能性,即宏未被定义.
由于cpool.h本身不会这样做,所以必须是这样的情况,即assert.h早先由你自己或间接由另一个第三方标题包含,并且在此与你包含的cpool.h之间发生了未定义.通过将cpool.h include移动到文件顶部可以轻松测试.