1

Python からアクセスし、この目的のために使用する必要がある C++ クラスの定義を含む単純な .so ライブラリを作成し、Python ライブラリをブーストしました。x64 Ubuntu を使用してこのライブラリをテストしているときは、Python を実行する前にライブラリをブーストするパスを LD_LIBRARY_PATH に設定するだけで十分です。ただし、x64 Suse を使用している場合は機能しません。LD_LIBRARY_PATH を設定していますが、Python はそれを無視しているようです。

Suse で環境変数を設定する特定の方法はありますか?

4

1 に答える 1

0

設定しないでください。ここここLD_LIBRARY_PATHを参照してください。まず最初に、Boost ライブラリを非標準の場所にインストールしたと仮定する必要があります。そうしないと、ローダーがそれらを自動的に見つけてしまいます。マシンへの root アクセス権を持っている場合は、ライブラリを標準の場所 (パッケージ マネージャーを使用して、または 内) にインストールします。/usr/local/lib

root 権限がない場合は、代わりに実行パスを設定してください。gcc リンカーを使用する場合は、-rpathオプションを渡してこれを行います。gcc コンパイラは、 を介してリンカーにオプションを渡すことができます-Wl。したがって、次のようにコンパイラを呼び出します。

g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ...
于 2010-08-10T19:51:08.537 に答える