2008-11-05 121 views
1

我目前有一个32位的dll使用Visual Studio 2003在C++中使用Managed Extensions创建。我现在正在尝试编译一个64位版本,而不必升级到C++/CLI。我一直在按照教程this location。我收到以下错误:编译32位VS 2003项目到64位

fatal error C1197: cannot reference 'c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll' as the progam has already referenced 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll'

我找不出什么是引用.NET 2.0版本的dll。

+0

与VS2003 64位? VS2003没有配备64位交叉编译器?!? – KTC 2008-11-05 15:46:51

+3

确实。显然,你可以下载平台SDK(包含一个64位编译器)并在VS2003中进行编译(只要你使用正确的环境变量启动它)。 – 2008-11-05 15:50:14

回答

1

您是否在代码中手动调用.dll文件?像这样?

#using "C:\Windows\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll 

如果是这样,你可以改变这一行只是:

#using "mscorlib.dll" 
0

你一个链接到不同版本的mscorlib库?

您是否指定/ clr选项并执行#using“mscorlib.dll”?