私のC++プロジェクトにPythonを埋め込もうとしています。私は、C++で利用できないKolmogorov-Smirnovテストを実装するいくつかの関数を使用するために、それを行う必要があります。私のC++プロジェクトにPythonを埋め込むためにXcodeフラグを設定する
今のところ、XcodeがPythonを組み込んだ簡単なプログラムをリンクしてコンパイルできるかどうかを確認しようとしています。私は追加する必要がコンパイルするために、このためにはPython/C API Reference Manual - Introduction:私の知る限り、私はここで読んだ説明から理解できるよう
#include<Python/Python.h>
int main(int argc, const char * argv[]) {
Py_Initialize();
PyObject* variable;
Py_Finalize();
return 0;
}
:1. Embedding Python in Another Application - 1.6 Compiling and Linking under Unix-like systems、ここ 私がコンパイルしようとしているコードは以下のとおりです。コンパイラとリンカに対するいくつかの追加フラグ。私は追加する必要がありますどのフラグを見つけるために
、私は(そのIは、対応する出力を含みます)、私の端末では、次の2つのコマンドを実行しました:私は、実際の名前に置き換え
$ python3.6-config --cflags
-I/Users/user/anaconda3/include/python3.6m -I/Users/user/anaconda3/include/python3.6m -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/user/anaconda3/include -arch x86_64 -I/Users/user/anaconda3/include -arch x86_64
$ python3.6-config --ldflags
-lpython3.6m -ldl -framework CoreFoundation -Wl,-stack_size,1000000 -framework CoreFoundation
私のユーザフォルダはuser
です。
これらのフラグをXcodeコンパイラとリンカーに追加するために、私はプロジェクト設定ウィンドウに行きました。Build Settings -> Other C Flags
とBuild Settings -> Other Linker Flags
の下に私は上記のフラグを追加しました。
しかし、私はこのエラーを取得するコンパイル:
Apple Mach-O Linker (ld) Error Group
clang: error: linker command failed with exit code 1 (use -v to see invocation)
をそして、それは私がreturn 0
以外main
関数内のすべての行をコメントアウトしても消えません。
私は間違っていることを理解していません。私はXcode 8.3.2
を使用していますし、私のPythonのディストリビューションがある
:Python 3.6.1 |Anaconda 4.4.0