0

Borland C++ Builder XE2 で 32 ビット DLL を作成しましたが、問題ありません。

64ビット版の作成も任されました。「方法」を調べたところ、Builder はまだ 64 ビットのコンパイルをサポートしていないことがわかりました。

掘り下げた後、これを行う(またはあらゆる種類の64ビットコンパイルを行う)唯一の方法は、ビジュアルスタジオエクスプレスコマンドラインを使用することであると思われました。したがって、次のコマンドを試してコンパイルを試みました。

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: #error : "System.hpp/sysmac.h および関連するヘッダーには __declspec( uuid(..)) および __uuid のサポート"

Google をいじくり回すと、 #define DECLSPEC_UUID(guid) の追加に関するいくつかの投稿しか得られませんでしたが、これはまったく役に立ちません。

私の質問は、Borland C++ プロジェクト (または Borland で作成されたアプリケーション / DLL) を 64 ビット用に正常にコンパイルしたことがある人はいますか?

4

1 に答える 1

1

C++Builder RTL/VCL コードを Visual Studio でコンパイルすることはできません。コードを Visual C++ または他の C++ コンパイラに移植し、Embarcadero の代わりにそのフレームワークを使用するか、Delphi XE2 でコードを書き直して、Embarcadero の RTL/VCL および Delphi 64 ビット コンパイラを引き続き使用できるようにする必要があります。

于 2012-04-11T03:50:10.050 に答える