1

うまくいけば、これは簡単なものになるでしょう。Beginning Python という本を読んでいて、c または c++ を使用して拡張機能を作成し、swig を使用して複数の言語で使用できるようにする方法を学んでいます。C コードの回文チェック ビットの例を実行しました。うまくいけば、すべてのコードを含める必要はありません。コンパイルとリンクに関しては:

gcc -dynamic -I/Library/Frameworks/Python.framework/Versions/Current/include/python2.7 -c palindrome.c

gcc -dynamic -I/Library/Frameworks/Python.framework/Versions/Current/include/python2.7 -c palindrome_wrap.c

本にあるようにこれらのコマンドを実行すると、目に見える問題は見られませんが、次のステップで何か問題があります。

gcc -dynamiclib palindrome_wrap.o palindrome.o -o _palindrome.so -Wl, -undefined, dynamic_lookup
i686-apple-darwin11-llvm-gcc-4.2: dynamic_lookup: No such file or directory 

私が実行している例は、教科書の単語からのものであり、初心者向けの本です。当然、c および c++ を使用して他の言語のライブラリを作成する方法を学ぶだけで困惑しています。この本が書かれて以来、Mac のファイルやディレクトリに関して何かが変わったのではないかと思います (Windows よりも UNIX に近いので、これを学ぶために Mac を選びました)。コンパイルの手順はまだ難解に見えるので、誰かがここで何が間違っているかを知っていることを願っています.

ありがとう、

ベン W.

4

1 に答える 1

0

gcc オプションはコンマなしで終了します (「-Wl -undefined dynamic_lookup」)。少なくとも私にとってはうまくいきます。

于 2013-05-07T13:34:05.270 に答える