2014-10-07 118 views
0

在我正在开发的一个项目中,我有两个预处理器定义(CPU_RENDER和GPU_RENDER),用于控制构建是否使用CPU渲染场景或GPU。在我开发软件时,我一直在这两者之间来回翻转。Visual Studio隐藏的预处理器定义

然而,突然之间,尽管事实上我从Visual Studio的预处理器定义中删除了一些文件,但声称GPU_RENDER的一些文件被定义。其他人正常工作。这不仅仅是可视化的,因为现在的CPU构建在链接上失败,试图找到某些仅用于GPU的函数的源代码。

我已经对“#define GPU_RENDER”的整个解决方案进行了搜索,以防万一我做了一些愚蠢的事情,但是结果空了。每次我参考GPU_RENDER时,我都会搜索,但所有这些只是ifdefs。

我没有使用任何新库,所以我不认为这可能是名称冲突。

+2

我猜想编译器的标志,但没有在这个问题附近足够的信息来回答它。 – IdeaHat 2014-10-07 16:52:36

+0

在文本编辑器中打开'.vcproj'文件并搜索'GPU_RENDER'。 – wimh 2014-10-07 16:56:55

回答

2

显然,违规文件已经获得了自己的一组预处理器定义。 (我必须点击“属性”,选择一个文件而不是项目,使文件具有一组本地定义)

删除文件的个人定义并勾选“从父项目或项目默认值继承”盒子解决了这个问题。