c++ - _DEBUG 和 LLVM 5.0 C++ : Preprocessor Expected value in expression

标签 c++ xcode compiler-errors c-preprocessor llvm

我在 XCode、LLVM 和 _DEBUG 定义方面遇到问题。或者更具体地说,它似乎是带下划线的东西。

这是我第二次遇到这样的错误。这次我针对 PhysX 库进行编译。

/Library/Frameworks/PhysX.framework/Versions/3.2.1/include/foundation/PxPreprocessor.h:316:35: Expected value in expression

它提示的行:

#if !defined(PX_CHECKED) && _DEBUG

它指向 _DEBUG 之后。如果我删除下划线,它编译得很好(我上次也在一个类似的库上这样做过,参见 http://www.ogre3d.org/forums/viewtopic.php?f=2&t=78990 )。但是现在我对这个错误感到不安。是什么原因造成的,这意味着什么?

设置: 方言:C++11、libc++(尝试过不同的,比如 GNUC++11 最大 OSX 10.8 代码 5 LLVM 5.0

最佳答案

以下划线开头的名称保留用于实现。相反,使用不以下划线开头的名称,除非您专门尝试访问某些特定于实现的功能。

在特定于实现的宏上使用 defined():

#if !defined(PX_CHECKED) && defined(_DEBUG)

如果出于某种原因您希望它起作用,那么您还没有解释它是什么。没有理由这应该有效。您希望它做什么?

关于c++ - _DEBUG 和 LLVM 5.0 C++ : Preprocessor Expected value in expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19235968/

相关文章:

java - 在 Swing 的按钮组中添加单选按钮时出错

c++ - 复制构造函数与返回值优化

c++返回局部变量的const引用

c++ - 尝试使用模板创建类的新实例,出现意外错误

python-3.x - 为什么 python 编译器在 tkinder 模块中给我一个错误?

为 Date 对象设置属性的 VBA 编译错误

c++ - 移动构造函数是自动生成的吗?

c++ - 没有对 'pthread_create' 的匹配函数调用

ios - 在 UIBarButtonItem 上添加手势

ios - 从命令行运行单元测试时的 SSL 连接问题