在我正在开发的项目中,我有两个预处理器定义(CPU_RENDER和GPU_RENDER),用于控制构建是否使用CPU来渲染场景或GPU。在我开发软件时,我一直在这两者之间来回翻转。
然而,突然之间,尽管我从Visual Studio的预处理器定义中删除了GPU_RENDER,但其中一些文件声称GPU_RENDER已被定义。其他人工作正常。这不仅仅是可视化的,因为CPU构建现在在链接上失败,试图找到某些仅GPU功能的源代码。
我已经搜索了“#define GPU_RENDER”的整个解决方案,以防万一我做了一些愚蠢的事情,但是这个问题空洞了。然后我每次引用GPU_RENDER时都会搜索,但所有这些只是ifdef。
我没有使用任何新库,因此我认为这不会是名称冲突。
答案 0 :(得分:2)
显然,有问题的文件已经获得了他们自己的预处理器定义集。 (我必须点击"属性"在某个时刻选择一个文件而不是项目,使文件具有一组本地定义)
删除文件的个人定义并勾选“从父项目或项目默认值继承的""盒子解决了这个问题。