在VS中移植工程,尤其是含有StdAfx.h和StdAfx.cpp这两个文件的工程,重新编译时常发生“fatal error C1083: 无法打开预编译头文件”的错误。如何解决呢?下面以VS2010为例说明解决步骤
1. 在解决方案资源管理器中,工程名上点右键,选择“属性”。
2. 在 配置属性 -> C/C++ -> 预编译头 选项卡中,查看 “预编译头文件”一项的值。这就是StdAfx.h这个头文件的名称来历,它就叫做“预编译头文件”。如果你的预编译头文件名称与此不符,请重新设置此项。
3. 找到对应的StdAfx.cpp文件,点右键->属性
4. 在属性页面,配置属性->C/C++ -> 预编译头 选项表中,将“预编译头”项设置为“创建”。确定。
5. 然后,仍然在StdAfx.cpp上,右键 -> 编译。
6. 最后,就可以编译整个工程了。大功告成。
PS,很多所谓的“解决方法”只是禁用了预编译头文件功能,并没有根本解决问题。请注意。