c++プログラムからPythonスクリプトファイルを呼び出したいのですが。
配布先の人にPythonがインストールされるかどうかはわかりません。
基本的に、Apacheのような配布ライセンスを持つ使用できる.libファイルを探しています。
c++プログラムからPythonスクリプトファイルを呼び出したいのですが。
配布先の人にPythonがインストールされるかどうかはわかりません。
基本的に、Apacheのような配布ライセンスを持つ使用できる.libファイルを探しています。
C++ プログラムから Python スクリプト ファイルを呼び出したいと思います。
これは、C++ アプリケーションに Python を埋め込む必要があることを意味します。Embedding Python in Another Application で述べたように:
Python を埋め込むことは、Python を拡張することに似ていますが、完全ではありません。違いは、Python を拡張する場合、アプリケーションのメイン プログラムは依然として Python インタープリターであり、一方、Python を埋め込む場合、メイン プログラムは Python とは何の関係もない場合があるということです。代わりに、アプリケーションの一部が Python インタープリターを呼び出す場合があります。いくつかの Python コードを実行します。
Embedding Python in Another Applicationを最初に実行することをお勧めします。次に、次の例を参照してください
Boost.Pythonが気に入った場合は、次のリンクにアクセスしてください。
Boostには、役立つPythonインターフェースライブラリがあります。
C++ アプリ内に Python インタープリターを埋め込むと、アプリケーションで Python スクリプトを実行して Python プログラムを実行できます。また、これらのスクリプトがアプリケーションで C++ 関数を呼び出すのも簡単になります。これが必要な場合は、前述の Boost ライブラリを使用して、リンクを簡単に作成できるようにする必要があります。過去に、私はC++ コードへの Python インターフェイスを生成するためにSWIGを使用しました。あなたの質問からは、Python スクリプトで C++ プログラムを呼び出したいのか、C++ で Python を呼び出したいだけなのかが明確ではありませんでした。
Python 関数の多くは、Python インタープリターに組み込まれていないモジュールを使用します。Python スクリプトがこれらの関数を呼び出す場合、ユーザーに Python をインストールさせるか、アプリケーションに Python ランタイム ファイルを含める必要があります。Python スクリプトにインポートするモジュールによって異なります。
ブーストはおそらく最良の選択ですが、よりスタンドアロンなものが必要な場合、およびこれが Windows で使用する場合 (Python をインストールする可能性が最も低い人々であることを考えると、これは実現可能と思われます)、py2exeを使用してCOM オブジェクトに適したエントリ ポイントを持つ DLL を作成します。その後、COM 経由でライブラリとやり取りできます。(明らかに、これはクロスプラットフォーム ソリューションとしてはまったく役に立ちません)。