Visual Studio 无法编译特定文件。

3
我正在使用Visual Studio 2013开发一个C++OpenGL游戏。一切都很顺利,但是最近三天以来,我修改一个文件时,它就不能再编译了。奇怪的是,这个问题只和这一个文件有关。其他所有文件都按预期工作。所以,如果我在那个文件里做些更改(它是一个包含实现的.h文件),Visual Studio就不理睬了。即使我在里面写一些无法执行的语句,他也会将其标记为红色,但不管它而直接使用旧的、预编译的版本。如果我删除"build-Debug"文件夹,他会重新编译该文件,并正常工作。有什么办法可以解决这个问题吗?
我还发现"build-Debug"文件夹中没有包含所有带有实现的头文件的.obj文件。也许这与问题有关?
此外,我的构建属性是正确的,例如当文件发生更改时始终进行编译等等。

也许这个东西被意外从项目中移除了?它在VS中出现吗?尝试删除(如果仍然存在)并重新添加它。 - RhinoDevel
目标文件是每个编译单元(即.cpp文件)的输出。头文件是否包含在任何文件中,也许是您用于包含预编译头文件的头文件? - LogicStuff
这个问题在项目中出现过,我已经多次删除并重新添加了它。甚至还重新创建了文件并将内容粘贴进去。 嗯,如果你指的是头文件,我正在调用它,因为我正在创建一个实例。我没有使用预编译头文件。 - Thomas
1个回答

1
我最终通过将文件拆分为单独的.h和.cpp文件来解决了问题。虽然这不是我的本意,但我找不到其他解决办法。因此,这一定与成为另一个.obj文件的一部分有关,可能与某些包含顺序或类似的东西有关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接