Visual Studio 2010 から SWIG を使用して DLL を作成する方法 質問する

Visual Studio 2010 から SWIG を使用して DLL を作成する方法 質問する

私は数週間前から、Microsoft Visual Studio 2010 で SWIG を使用して DLL を作成しようとしています。すでにこのプロセスを実行したことがある場合は、プロセスを段階的に詳しく説明していただけますか? オンラインであらゆる場所を調べ、何時間もかけてこの操作を試しましたが、見つけたチュートリアルはすべて古く、説明も不十分でした。

私は cygwin を使用してこのプロセスを実行することに成功しましたが、ご存知の方もいると思いますが、cygwin DLL はあまり実用的ではありません。

その結果、.i、.cpp、.h ファイルがあり、これらを組み合わせて DLL を作成できることがわかっています。Visual Studio C++ 2010 でこれを実行する方法を知る必要があります。ターゲットとする言語は Python です。

ベストアンサー1

ステップバイステップの手順。これは、ソースがあり、ソースを直接リンクする単一の DLL 拡張機能を構築していることを前提としています。作業プロジェクトを作成した後、この手順を再度確認していないため、何かが抜けている可能性があります。手順で行き詰まった場合は、この投稿にコメントしてください。既存の DLL があり、それをラップする Python 拡張機能 DLL を作成したい場合は、この手順が少し異なります。その点についてサポートが必要な場合は、この投稿にコメントしてください。拡張します。

編集 2012年8月19日: C の例から始める場合は、-c++手順 13 で を使用せず、手順 14 と 19 で wrap ファイル拡張子の.c代わりにを使用します。.cxx

  1. Visual Studio 2010を起動します
  2. ファイル、新規、既存のコードからのプロジェクト...
  3. 「Visual C++」プロジェクト タイプを選択し、「次へ」をクリックします。
  4. .cpp/.h/.i ファイルがあるプロジェクト ファイルの場所を入力します。
  5. プロジェクト名には、.i ファイルの %module ステートメントで使用されている名前を選択します (大文字と小文字が区別されます)。
  6. プロジェクト タイプ「動的リンク ライブラリ (DLL) プロジェクト」を選択し、[次へ] をクリックします。
  7. Python.h ファイルへのパス (通常は「C:\Python27\include」など) をインクルード検索パスに追加し、[次​​へ] をクリックします。
  8. [完了]をクリックします。
  9. ソリューション エクスプローラーでプロジェクトを右クリックし、[追加]、[既存の項目...] の順に選択し、.i ファイルを選択します。
  10. .i ファイルを右クリックし、[プロパティ] を選択して、[構成] > [すべての構成] を選択します。
  11. アイテム タイプを「カスタム ビルド ツール」に変更し、[適用] をクリックします。
  12. プロパティで「カスタム ビルド ツール」を選択します (上記の適用後に表示されます)。
  13. 「swig -c++ -python -outdir $(Outdir) %(Identity)」のコマンド ラインを入力します (これは、SWIG がパス内にあることを前提とし、生成された .py ファイルを必要に応じてデバッグ ディレクトリまたはリリース ディレクトリにリダイレクトします)。
  14. 出力に「%(Filename)_wrap.cxx;$(Outdir)%(Filename).py」と入力します。
  15. [OK]をクリックします。
  16. .i ファイルを右クリックし、「コンパイル」を選択します。
  17. プロジェクトを右クリックし、「追加」、「新しいフィルター」の順に選択し、「生成されたファイル」という名前を付けます。
  18. 「生成されたファイル」を右クリックし、「プロパティ」をクリックして、「SCC ファイル」を「False」に設定します (ソース管理を使用する場合、これにより、VS2010 がこのフィルターで生成されたファイルをチェックインしようとするのを防ぎます)。
  19. 「生成されたファイル」を右クリックし、「追加」、「終了項目」を選択して、コンパイルによって生成された _wrap.cxx ファイルを選択します。
  20. プロジェクトを右クリックし、[プロパティ] を選択します。
  21. 構成「すべての構成」を選択します。
  22. 「構成プロパティ」、「リンカー」、「全般」、「追加のライブラリ ディレクトリ」を選択し、Python ライブラリへのパス (通常は「C:\Python27\libs」) を追加します。
  23. 「構成プロパティ」、「全般」を選択し、TargetName を「_$(ProjectName)」に設定します。
  24. ターゲット拡張子を「.pyd」に設定します。
  25. プロジェクトの「リリース」バージョンをビルドします。Python 自体のデバッグ バージョンをビルドしない限り、デバッグ バージョンをビルドすることはできません。
  26. コンソールを開き、プロジェクトのリリース ディレクトリに移動し、Python を実行してモジュールをインポートし、関数を呼び出します。

おすすめ記事