错误C1854:无法覆盖在对象文件创建预编译的头的过程中形成的信息
-
09-09-2019 - |
题
foo.cpp(33918) : fatal error C1854: cannot overwrite information formed
during creation of the precompiled header in object file: 'c:\somepath\foo.obj'
咨询MSDN关于这给我提供以下信息:
您指定/于(使用预编译 指定后头部)选项 / YC(创建预编译的头)选项 对于同一个文件。某些 声明(如声明 包括__declspec DLLEXPORT)使 此无效。
我们正在使用DLLEXPORT和预编译头在这种情况下。有任何人在此之前遇到过,知道什么解决办法吗?任何输入到一些启发对这个问题是极大的赞赏。
由于
解决方案
我觉得你可以在这里找到答案:的 http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b3aa10fa-141b-4a03-934c-7e463f92b2a5/
基本上,你需要设置stdafx.cpp文件“创建预编译头”和所有其他.cpp文件为“使用预编译头”
其他提示
我有这个问题太
确认预编译器头输出文件被设置到正确的位置。煤矿实际上是输出到正确的位置,但也有问题,阅读它,只是因为路径里面有一个小神器。
我的解决办法是仔细重新检查所有的不只是.exe项目的预编译头设置,但所有的dll项目也并重新创建所有的头。在此之后,错误不见了在该.exe汇编
不隶属于 StackOverflow