我在同一台机器上安装了VS2005和VS2008。我也有一个共同的代码库,我使用'05和'08构建。为此,我有2个VC项目.. '08项目名为XYZ_2008.vcproj和'05项目名为XYZ_2005.vcproj,以及相应的2个slns。这两个项目都将dll,libs和pdbs输出到同一个输出目录(全部使用_2005和_2008后缀)。连续构建VS2005和VS2008 C++项目导致LNK1104错误
假设我从一个干净的状态开始,我首先在VS2005中打开XYZ_2005.sln(包含XYZ_2005.vcproj)并成功构建它。然后我关闭VS2005。
接下来,我打开XYZ_2008.sln(包含XYZ_2008.vcproj)并构建(不重建)它。在这一点上,我得到一个错误说:
LINK : fatal error LNK1104: cannot open file 'mfc80u.lib'
如果现在我重建 08年的解决方案,该错误消失和生成成功。如果我直接为'08 sln进行重建而不是构建,构建也会成功。
尽管所有东西都是分开的,但VS08内部似乎正在拾取MFC8文件(来自VS05)而不是MFC9文件。
有人可以帮忙解决这个问题吗?
在此先感谢!