4

ダイナミック リンク ライブラリを作成するために使用する C++ のソース ファイルが複数あります。

gcc -shared および ln を使用して Linux でこれが発生していることがわかります

ただし、Windows の場合、ソース ファイルを変更して DLL を生成する必要があると思います。

提供されたソース ファイルを使用して DLL (Linux の *.so に似たファイル) を生成する方法はありますか。間違っている場合は修正してください。*そうは Linux の dll だと思います。

これが必要な理由は、Windows Platfrom の Python で C++ 関数を呼び出すために SWIG を使用するためです。Windowsでdllを生成する必要があるステップで立ち往生しています。

4

3 に答える 3

4

正確なアプローチは、使用しているコンパイラによって異なりますが、手順はおそらく文書化されています。たとえば、Visual Studio を使用して DLL を作成する場合は、ここでチュートリアルを利用できます。

于 2009-10-23T23:27:13.740 に答える
2

DLLの外部から呼び出すことができるDLL関数には、特別なマクロキーワードがあります

__declspec(dllexport)void __cdecl SomeFunction(int a、int b);

于 2009-11-12T19:54:57.477 に答える
1

どのコンパイラを使用していますか? Visual C++ の場合、指定されたオブジェクト ファイルから動的ライブラリを作成するコマンド ラインは次のようになります。

link -nologo -dll -out:mylib.dll -implib:mylib.lib myobj1.obj myobj2.obj ...

また、ソース ファイルをオブジェクト ファイルにコンパイルするときに、ダイナミック ライブラリのシンボルが確実にエクスポートされるようにするために必要なマクロを定義するために、-D オプションを使用する必要があります。

于 2009-11-12T20:17:50.037 に答える