Visual Studio C ++ lib项目 Project设置为使用预编译头 stdafx.cpp设置为创建预编译头
我有一个头文件MyClass.h 如果我构建,那么对MyClass.h进行一些无法编译的更改,编译仍然成功。 如果我进行重建,或者我对包含“MyClass.h”的cpp文件进行了更改,则编译会按预期失败。
这是预期的,因为我正在使用预编译的头文件吗?有没有办法解决它,所以2nd buid拾取标题更改而不关闭预编译的标题?
答案 0 :(得分:3)
确保您正在更改的头文件在解决方案资源管理器中被您的项目引用。如果是这种情况,则完整版本应在更改时触发。
答案 1 :(得分:2)
在项目属性中,将“Enable Minimal Rebuild”设置为No
答案 2 :(得分:0)
你确定stdafx.cpp包含有问题的标题吗?
答案 3 :(得分:0)
VisualStudio经常变得非常愚蠢。它可以是任何一种方式,但通常它会像你遇到的那样。
我已经抓住了一个文件使用的标头中的更改,但没有在其他文件中使用它的事实。所以它汇编了一个而不是其他的。然后我得到了非常奇怪的链接器错误。
它当然可能是你自己该死的错,但事实上,VS是出了名的愚蠢。有时,完整的重建将永久解决问题,直到下次。其他时候你以某种方式管理项目文件,希望你可以回到原来的(像源服务器还原)。 “撤消”通常不会撤消这种情况。
我已经多次注意到这不需要是预编译头中的标头。它似乎有点随机,但一个更常见的相关性是标题充满了模板。 VS只是简单的wrt模板。