2010-06-11 6 views
0

Mon environnement de compilation est Windows XP et vc 6.0.Comment obtenir une DLL 64 bits avec le fichier source c, le fichier def, le fichier lien en utilisant la ligne de commande dans vc 6.0

Maintenant, j'ai fichier source de courant alternatif (msgRout.c), fichier DEF (msgRout.def), fichier de liaison (msgRout.link), puis-je utiliser les commandes ci-dessous pour obtenir une dll 32 bits:

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

2.lib départ: msgRout.lib de: msgRout.def -machine: i386

3.link /LIBPATH:../../Lib -noD -nologo debug: plein -DLL @ msgRout.link -out: msgRout.dll

Mais la DLL que j'ai obtenu ne peut pas être chargée sur l'application X64. il a fallu une DLL de 64 bits.

Alors voici ma question: Puis-je obtenir une DLL 64 bits avec vc 6.0? En n'utilisant que 3 commandes identiques, comment puis-je obtenir une DLL 64 bits?

Beaucoup de GRANDS MERCI !!!

Allan

Répondre

2

Visual C++ 6.0 n'inclut pas les compilateurs/bibliothèques 64 bits. Vous aurez besoin d'une version plus récente de Visual C++ ou d'un Kit de développement Windows Platform SDK disposant du support 64 bits. La plus ancienne est la Windows Server 2003 Platform SDK.

Une fois installé, cl /? et link /? auront des informations sur la création d'applications 64 bits.

Mise à jour: Si vous avez VS2005, vous pouvez construire les binaires 64 bits avec le compilateur croisé x86-amd64 (32 bits cl.exe qui produit le code 64 bits) ou avec le compilateur x64 (un 64- bit cl.exe). Pour ce faire, vous devez:

  • Assurez-vous d'avoir installé la prise en charge des outils 64 bits pendant l'installation de VS.
  • ouvrir une ligne de commande et réglée pour x86-amd64 builds utilisant C:\Program Files\Microsoft Visual Studio 8\VC\Vcvarsall.bat x86_amd64 ou
  • (sur 64 bits Windows) ouvrir une ligne de commande de 64 bits et le mettre à 64 bits en utilisant C:\Program Files\Microsoft Visual Studio 8\VC\Vcvarsall.bat amd64 builds.

Une fois que vous faites cela, vous devriez être en mesure d'utiliser la même ligne de commande comme ci-dessus (avec tcouple petits changements - pour cl vous devez définir/D: X64 = 1 ou/D_AMD64_ et link vous devrez changer le /machine:x86 en /machine:x64) pour produire la version 64-bit de votre programme.

Voici quelques liens avec plus d'informations:

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

+0

Désolé, normalement je vous donnerais la ligne de commande cl/link exacte, mais je suis sur mon iPhone dès maintenant sans accès à un PC. –

+0

Franci, pourriez-vous fournir cl, lib, lien ligne de commande plus tard, s'il vous plaît? J'ai maintenant VS2005 (et VS2008), je pense qu'ils pourraient compiler 64 bit dll? Je vous remercie. – allan

+0

Votre commande est très utile, vous m'avez beaucoup aidé! Merci beaucoup! – allan

0

Vous ne pouvez pas. Microsoft n'a pas de machines à remonter le temps.

+1

Vous n'êtes évidemment pas au courant de certains des derniers projets de MS Research ... :-) –