C/C++ ライブラリを構築して Delphi アプリケーションにリンクします…どうやって?

StackOverflow https://stackoverflow.com/questions/1966352

  •  21-09-2019
  •  | 
  •  

質問

C/C++ で書かれたライブラリのソース (libxml2 としましょう) がある場合、それをビルドして Delphi アプリケーションにリンクしたいと思います...Delphi Zlib がそれを行うので、それが可能であることはわかっています ( http://www.dellapasqua.com/delphizlib/ ) ...しかし、私の質問は、それらの .obj ファイルをどのように準備するかということです。

よろしくお願いしますm。

役に立ちましたか?

解決

あなたはデルファイのための互換性のOBJファイルを生成するためにCodeGearのC ++コンパイラを使用する必要があります。あなたのDelphiはC ++ Builderに付属していますか?そうしないと、無料(ボーランド)コマンドラインバージョンを試みることができます。このテーマについてもっと読むここを。

他のヒント

C アプリケーション バイナリ インターフェイス (ABI) に準拠する DLL を作成すると、C++ または Delphi アプリケーションからその DLL に動的にリンクできます。

次のことを行うことをお勧めします。

  1. C または C スタイルのコードのみを使用し、モジュールを次で囲んでください。

#ifdef __cplusplus
extern "C"
{
//header file
}
#endif //__cplusplus

これにより、コードが C ABI にコンパイルされることが保証されます。

  1. 関数を __stdcall にすることをお勧めします。

  2. 関数を DLL としてコンパイルする

ここから、Delphi が Windows DLL にリンクできるのと同じ方法で DLL にリンクできるはずです。(Delphi側で何をする必要があるのか​​思い出せません)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top