用Borland C++;建设者 我在Borland C++ Builder XE2中创建了32位DLL,没有问题。

用Borland C++;建设者 我在Borland C++ Builder XE2中创建了32位DLL,没有问题。,dll,64-bit,c++builder,c++builder-xe2,Dll,64 Bit,C++builder,C++builder Xe2,我的任务是创建一个64位版本。在研究了“how”之后,我知道Builder还不支持64位编译 在对它进行了一些深入研究之后,看起来完成这项工作(或任何类型的64位编译)的唯一方法就是使用visual studio express命令行。因此,我尝试使用以下命令进行编译: CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /x64 "C:\Program Files (x86)\Microsoft Visual S

我的任务是创建一个64位版本。在研究了“how”之后,我知道Builder还不支持64位编译

在对它进行了一些深入研究之后,看起来完成这项工作(或任何类型的64位编译)的唯一方法就是使用visual studio express命令行。因此,我尝试使用以下命令进行编译:

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
运行上述命令会导致以下错误:

C:\Program Files(x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl\sysmac.h(162):致命错误C1189:#错误:“System.hpp/sysmac.h和相关头需要uuu declspec(uuid(..)和uu uuidof支持”

在谷歌上闲逛只给了我一些关于添加#define DECLSPEC_UUID(guid)的帖子,这一点帮助都没有


我的问题是,有没有人成功地编译了一个Borland C++项目(或者在Borland中创建的一个应用程序/DLL)64位(加上一步一步的如何)?p> 不能使用Visual Studio编译C++Builder RTL/VCL代码。你必须把代码移植到Visual C++或其他C++编译器,并使用它的框架来代替NavCARDRO的,或者在Delphi XE2中重新编写代码,这样您就可以继续使用Embarcadero的RTL/VCL和Delphi 64位编译器。

尝试包含一个编译器的头并使用另一个编译器构建它肯定会失败。MSVC确实支持uuuuid,我想测试可能有问题。Borland在语言中添加了许多非标准关键字,因此这通常是一个失败的原因。