5

私はboostc/c++ライブラリにかなり慣れていません。Boostライブラリをダウンロードしてビルドしました。

Boostインターフェイスを使用してC++で非常に単純なPythonライブラリを作成しました(実際には、ドキュメントに記載されているサンプルコードです)。私はそれをdllファイルに組み込みました。ドキュメントでは、このdllがPythonに公開されており、Pythonでのインポート関数が表示され、作成されたライブラリが含まれていると記載されています。そのdllをPythonに公開し、従来の方法(「インポート」)でライブラリを内部にロードする方法がわかりません。あなたがコードを見たい場合は、ここにあります:

#include <boost/python.hpp>

char const* greet()
{
    return "hello, world";
}

BOOST_PYTHON_MODULE(hello_ext)
{
    using namespace boost::python;
    def("greet", greet);
}

私が本当にc/c++とpythonでアプリケーションを構築したいのを手伝ってください。hello_extを次のように使用したいだけです。

>>>import hello_ext
>>>print hello_ext.greet()

ありがとうございました。

4

1 に答える 1

1

私はそれをdllファイルに組み込みました。ドキュメントでは、この dll が python に公開されており、python でインポート関数が表示され、作成されたライブラリが含まれていることが示されています。そのdllをpythonに公開し、ライブラリを伝統的な方法(「インポート」)でロードする方法がわかりません。

その共有ライブラリをモジュールの検索パスに配置する必要があります。それを達成するにはいくつかの方法があります。

1つは次のとおりです。

import sys
sys.path.append("<directory-where-hello_ext-module-resides>")
import hello_ext

共有ライブラリの名前はhello_ext.dll.

于 2012-11-17T23:24:04.363 に答える