2012-04-03 1 views
0

J'ai créé une DLL 32 bits dans Borland C++ Builder XE2 pas de problème.En quelque sorte créer une DLL 64 bits avec Borland C++ Builder

J'ai également été chargé de créer une version 64 bits. Après avoir recherché les "comment" j'ai appris que Builder ne supporte pas encore les compilations 64 bits. Après quelques recherches, la seule façon de le faire (ou de compiler en 64 bits) consistait à utiliser des lignes de commande Visual Studio Express. Ainsi j'ai essayé les commandes suivantes pour essayer de compiler:

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /x64 
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe" -IC:\projects\dll -I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\vcl" -I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl" -MD -LD C:\projects\dll\dll.cpp -FeMyDLL.dll 

L'exécution de la me donne ci-dessus l'erreur suivante:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl\sysmac.h(162) : fatal error C1189: #error : "System.hpp/sysmac.h and related headers need __declspec(uuid(..)) and __uuidof support"

Mucking au sujet sur Google ne m'a donné quelques messages sur l'ajout #define DECLSPEC_UUID (guid) qui n'aide pas du tout. Donc, ma question est, est-ce que quelqu'un a jamais réussi à compiler un projet Borland C++ (ou une application/DLL créée dans Borland) pour 64 bits (plus une étape par étape sur comment)?

+0

Essayer de # inclure les en-têtes d'un compilateur et de le construire avec un autre est une baleine d'échec assez garantie. MSVC * supporte * __uuid, quelque chose ne va pas avec le test, je suppose. Borland a ajouté beaucoup de mots-clés non-standard à la langue donc c'est en général une cause perdue. –

Répondre

1

Vous ne pouvez pas compiler du code RTL/VCL C++ Builder avec Visual Studio. Vous devrez soit porter le code à Visual C++ ou autre compilateur C++ et utiliser ses frameworks au lieu d'Embarcadero, soit réécrire le code dans Delphi XE2 afin de pouvoir continuer à utiliser RTL/VCL et le compilateur Delphi 64 bits d'Embarcadero.

Questions connexes