首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual Studio2010中,如何在构建期间显示#定义的常量?

问在Visual Studio2010中,如何在构建期间显示#定义的常量?
EN

Stack Overflow用户
提问于 2012-02-24 12:12:41
回答 2查看 2.6K关注 0票数 1

我见过this,但没有一个答案对VS2010有效。常量的(或者我应该称它为变量?)未显示数值

当我实际在windows中编程时,这行代码#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX被证明是真的。我需要在构建过程中查看OGRE_PLATFORM_WIN32和OGRE_PLATFORM_LINUX的值。你能帮我解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2012-02-24 12:57:35

您可以使用以下命令检查预处理器输出:

  • -预处理到文件或
  • -预处理到文件或
  • -预处理到stdout而不使用#line指令

visual studio中的选项

票数 2
EN

Stack Overflow用户

发布于 2012-02-24 13:01:48

首先,检查项目选项-活动配置和所有配置中的预处理器定义,并确保定义了正确的内容。

如果你仍然有问题,试着用下面的代码代替你的main方法:

代码语言:javascript
复制
#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代码,而不需要检查它们的预处理器选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9425282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档