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汇编

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top