2016-12-12 7 views
0

私はVS12プロジェクトを持ち、boost-pythonを使っていくつかのクラスをPythonに公開しました。いくつかのリンケージの問題の後、私のプロジェクトは最終的に正しく構築され、MySDK.libMySDK.dllを生成します。私はBoost Pythonモジュールをライブラリと同じ、すなわちBOOST_PYTHON_MODULE(MySDK)と呼んだ。これらは.lib.dll私はMySDKをPythonから使う必要がありますか?Boost-Python C++プロジェクトビルド、Pythonから新しいライブラリを使用するには?

私はPycharm Communityを使用していますが、生成されたMySDK.libMySDK.dllをPythonライブラリモジュールとしてインポートする方法を見つけることができません。

また、Boost Pythonコーディング演習の後に何をすべきかに関する多くの情報はありません。

+0

追加します。そのため、きれいな方法は、元$(OutDir)$(TargetName)$(TargetExt)すなわちdll出力を生成しているようVS12プロジェクトを残して、単にコピーがdllpydにそのPost-Build Eventを追加することです同様の問題:http://stackoverflow.com/questions/27842074/pycharm-does-not-find-extension-librariesあなたはPyCharmの外で作業できるのですか? – doctorlove

+0

実際それはそれより悪いです。 libとdllの場所をPath変数に追加した後。私はPythonインタプリタを実行するコマンドラインに行き、これは私が得るものです: 'ImportError:MySDK'という名前のモジュールはありません –

+0

PyCharmの中に入っているのですか? – doctorlove

答えて

1

VS12プロジェクトの出力ファイルの拡張子を.pydRight Click on Project -> Properties -> Linker -> General -> Output File -> changed to $(OutDir)$(TargetName).pyd)に変更しました。これで、Pythonでライブラリを読み込むことはできますが、Pycharmではまだ実行できません。

その後、.pyd.lib.dll)がPath変数の下にあるディレクトリを作成しました。 Pycharmは私のカスタムboost-pythonライブラリを正常にロードして実行することができます。

UPDATE Pythonは理解して読み込むことができPYDは、単にpydに改名dllです。

Right Click on Project -> Properties -> Configuration Properties -> Build Events -> Post-Build Event -> Command Line)とは、この質問が示唆copy $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pyd

関連する問題