0

ここで説明するように、Python3.3を埋め込もうとしています。

私はPython2.7を搭載したMacOS10.8を使用しているので、python.orgからバージョン3.3のバイナリディストリビューションをダウンロードしました。それから、すべてのヘッダーと「Python」を「python33」に名前変更したので、インストールされている「Python」ライブラリと衝突しません。私はすべてをフォルダに入れます:

embed.c / include python33

「ファイルpython33」は言う:

python33 (for architecture i386):   Mach-O dynamically linked shared library i386
python33 (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64

embed.cは次のとおりです。

#include <Python.h>

int
main(int argc, char *argv[])
{
  Py_Initialize();
  PyRun_SimpleString("print 'test'\n");
  Py_Finalize();
  return 0;
}

しかし、「gcc embed.c -I./include -L。-lpython33」を実行すると、次のように壊れます。

ld: library not found for -lpython33

どうか、コンパイルする方法を知っている人はいますか?

4

2 に答える 2

0

実行python3.3-config --cflagsすると、システムに必要なcflagが取得されます。ldflagsの場合、コマンドは次のとおりです。python3.3-config --ldflags

于 2013-02-21T16:31:32.083 に答える
0

まず第一に、ライブラリには「libxxx.so」の形式で名前を付ける必要があります。そうすると、リンカは「-L」でライブラリを検索します。-lxxx'。

それでも、ライブラリだけでなくフレームワーク全体をコピー/作成する必要があるため、結果の実行可能ファイルは機能しません。

詳細はこちら: http: //lists.apple.com/archives/cocoa-dev/2013/Feb/msg00522.html

于 2013-02-25T17:34:01.107 に答える