5

ここに示す例から、いくつかの C コードをコンパイルして Python にインポートする手順を実行しようとしています: http://csl.sublevel3.org/C-functions-from-Python/

提案された呼び出しを使用してコンパイルできます。

gcc -dynamiclib -I/usr/include/python2.3/ -lpython2.3 -o myModule.dylib myModule.c

しかし、私は Python 3 を使用しています。一連のコンパイラ エラーを混乱させて解決した結果、次のようになりました。

gcc -dynamiclib -I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m/ -lpython3.2m -o myModule.dylib myModule.c

しかし、今は行き詰まっています。これにより、次のエラーが発生します。

ld: library not found for -lpython3.2m

私の限られた知識から、私はいくつかのことを試しました。Python のバージョンが存在する場所が 2 つあります。

/システム/ライブラリ/フレームワーク/Python.framework/バージョン

また:

/ライブラリ/フレームワーク/Python.framework/バージョン

Python 3.2 は 2 番目にあるので、gcc に -lpython3.2m? または、-lpython3.2m が間違っています。-lpython3.2 を試しましたが、ld から同じタイプのエラーが発生します。

役立つ可能性のあるその他の事実:

Mac OS 10.6.8

Python.org から取得した DMG からインストールされた Python 3.2

あなたが私を助けるのを助けるために私があなたに与えることができる他の情報があれば、私に知らせてください

4

1 に答える 1

6

gcc追加のディレクトリにライブラリを検索するように指示するには、既に使用し-Lているオプションと同様のオプションを使用し-Iます。のようなもの-L/Library/Frameworks/Python.framework/Versions/3.2/libだと思います。

于 2012-06-13T14:12:01.330 に答える