如何使用vc 6.0中的命令行获取带有c源文件,def文件,链接文件的64位dll

时间:2010-06-11 03:41:33

标签: visual-c++ 64-bit

我的编译环境是windows xp和vc 6.0。

现在我有一个c源文件(msgRout.c),def文件(msgRout.def),链接文件(msgRout.link),然后我使用下面的命令得到一个32位的dll:

1.cl / I ../include -c -W3 -Gs- -Z7 -Od -nologo -LD -D_X86_ = 1 -DWIN32 -D_WIN32 -D_MT -D_DLL msgRout.c < / p>

2.lib -out:msgRout.lib -def:msgRout.def -machine:i386

3.link /LIBPATH:../../Lib -nod -nologo -debug:full -dll @ msgRout.link -out:msgRout.dll

但是我得到的dll无法在X64应用程序上加载。它需要一个64位的dll。

所以这是我的问题: 我可以使用vc 6.0获得64位dll吗? 仅使用3个以上的命令,如何获得64位dll?

非常感谢!!!

阿伦

2 个答案:

答案 0 :(得分:2)

Visual C ++ 6.0不包含64位编译器/库。您将需要更新版本的Visual C ++或具有64位支持的Windows Platform SDK。最早的是Windows Server 2003 Platform SDK

安装完成后,cl /?link /?将获得有关如何构建64位应用的信息。

更新:如果你有VS2005,你可以使用x86-amd64交叉编译器(产生64位代码的32位cl.exe)构建64位二进制文​​件,或者使用x64编译器(64位cl.exe)。为此,您需要:

  • 确保在VS安装期间安装了64位工具支持。
  • 打开命令行并使用C:\Program Files\Microsoft Visual Studio 8\VC\Vcvarsall.bat x86_amd64
  • 为x86-amd64版本设置它
  • (在64位Windows上)打开x64命令行并使用C:\Program Files\Microsoft Visual Studio 8\VC\Vcvarsall.bat amd64将其设置为64位版本。

一旦你这样做,你应该能够使用与上面相同的命令行(对于cl你需要定义/ D: X64 = 1或/ D_AMD64_和link您必须将/machine:x86更改为/machine:x64)才能生成64位版本的程序。

以下是一些包含更多信息的链接:

Installing Visual Studio 64-bit Components
HowTo: Enable a 64-Bit Visual C++ Toolset at the Command Line
Use Visual Studio to build 64-bit application
64-bit Applications
Seven Steps of Migrating a Program to a 64-bit System

答案 1 :(得分:0)

你做不到。微软没有时间机器。