我见过this,但没有一个答案对VS2010有效。常量的(或者我应该称它为变量?)未显示数值
当我实际在windows中编程时,这行代码#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX被证明是真的。我需要在构建过程中查看OGRE_PLATFORM_WIN32和OGRE_PLATFORM_LINUX的值。你能帮我解决这个问题吗?
发布于 2012-02-24 12:57:35
您可以使用以下命令检查预处理器输出:
stdout而不使用#line指令visual studio中的选项
发布于 2012-02-24 13:01:48
首先,检查项目选项-活动配置和所有配置中的预处理器定义,并确保定义了正确的内容。
如果你仍然有问题,试着用下面的代码代替你的main方法:
#include <iostream>
int main()
{
#ifdef OGRE_PLATFORM_LINUX
std::cout << "OGRE_PLATFORM_LINUX = " << OGRE_PLATFORM_LINUX << "\n";
#else
std::cout << "OGRE_PLATFORM_LINUX not defined.\n";
#endif
#ifdef OGRE_PLATFORM_WIN32
std::cout << "OGRE_PLATFORM_WIN32 = " << OGRE_PLATFORM_WIN32 << "\n";
#else
std::cout << "OGRE_PLATFORM_WIN32 not defined.\n";
#endif
#ifdef OGRE_PLATFORM
std::cout << "OGRE_PLATFORM = " << OGRE_PLATFORM << "\n";
#else
std::cout << "OGRE_PLATFORM not defined.\n";
#endif
return 0;
}另外,这个项目是你创建的吗,它是由某种预制(CMake,automake等)系统创建的吗,你是从什么地方下载的吗?如果不是您创建的,那么某些人可能已经移植了一些Linux代码,而不需要检查它们的预处理器选项。
https://stackoverflow.com/questions/9425282
复制相似问题