Sì. È necessario compilare i file degli oggetti "C" nel formato COFF. Questo di solito significa compilatori Intel e/o MSVC++. Le stesse avvertenze si applicano ai collegamenti a file a 64 bit che si applicano a 32 bit. Devi assicurarti che tutti i riferimenti esterni siano correttamente risolti, fornendo un altro .obj che ha quel simbolo o dal codice Delphi. Quando si crea il codice "C", assicurarsi di disabilitare qualsiasi controllo dello stack o altra generazione di codice di verifica in fase di esecuzione. Molte volte tale codegen si basa su una versione specifica di RTL C/C++ dallo strumento fornito.
Un'altra cosa da notare è che, mentre Delphi a 64 bit in grado di creare un collegamento a file oggetto COFF (alla fine sarà anche il supporto elf64), 32 bit Delphi supporta il collegamento con C++ Builder costruita file OMF oggetto e, nuovi a XE2, 32bit File oggetto COFF che possono essere creati con MSVC++. Si applicano gli stessi avvertimenti.
fonte
2011-09-01 18:12:14
Ho letto da qualche parte che è possibile collegare i file oggetto COFF (creati con MS VC++ come file .obj) in un'applicazione Delphi a 64 bit. –
@Rudy È già stato spedito. ELF non va bene per Windows. –
Ovviamente potresti usare un altro compilatore che può emettere COFF a 64 bit o qualsiasi altra cosa tu abbia bisogno, forse uno dei compilatori GNU o LLVM? Il compilatore BCC v. 5.5 è quello gratuito, suppongo? È già un po 'vecchio e non molto standard. –