2011-05-05 80 views
10

我有一个在Visual Studio 2010下构建但使用.Net 3.5的C++/CLI应用程序。根据需要,我手动编辑我的项目文件以添加值为3.5的TargetFrameworkVersion,并且能够在x86(32位)模式下毫无问题地构建它。但是,当我切换到x64(64位)模式时,出现以下错误:无法使用VS 2010,.Net 3.5和64位构建C++/CLI应用程序

错误MSB8014:执行路径(C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin \ x86_amd64)找不到。

我确实安装了VS 2008(9.0),但bin文件夹下没有x86_amd64目录。我试图通过添加这个文件夹(和目标文件中的下一行将失败的amd64文件夹)来欺骗它,然后我得到了错误:

致命错误LNK1112:模块机器类型'X86'冲突与目标机器类型'x64'

我不明白,因为我的项目没有明确的链接。我将它交互的C#程序集切换到x64版本(而不是任何CPU),但无济于事。

仅供参考:所有内容均以32位模式正确生成。如果我切换到.Net 4.0(v100),所有东西都可以在64位模式下正确构建。我在发布和调试模式下都会遇到同样的错误。

任何想法,将不胜感激。

+0

什么是你的构建操作系统? – 2011-05-06 04:33:11

+0

操作系统是Windows 7 - 64位 – Beast 2011-05-06 16:08:58

回答

18

如果您正在编译项目属性中从V100更改为V90的“工具集”,并且您已将Visual Studio 2008安装在同一开发计算机上,只需转到控制面板,程序和功能,选择Visual Studio 2008,右键单击,选择卸载/更改,然后选择添加/删除特性,然后在显示特性列表时,在默认情况下未安装的Visual C++下查找x64编译器/文件,但通过单击在它旁边的复选框中,它将添加所需的文件。

+0

解决了它 - 谢谢! – Beast 2011-06-08 20:49:07

+0

谢谢Eric Eric! – sambha 2012-09-13 16:18:49

+0

这个伎俩。非常感谢。 – 2013-06-24 14:23:22

5

在VS2010应该链接到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64

你可能得到的配置错误,或从VS2008项目进口。

转到Configuration -> General -> Platform Toolset。确保它的v100(VS2010)

如果不帮忙,看Configuration -> VC++ Directories。这就是设置路径的地方。
你可以看到它在$(VCInstallDir)看起来在你的电脑上被设置为VS2008路径。

相关问题