我試圖在我的C++項目中嵌入python。我需要這樣做才能使用一些實現Kolmogorov-Smirnov測試的功能,這些功能在C++中不可用。設置Xcode標誌爲了在我的C++項目中嵌入python
現在我只想看看Xcode是否能夠鏈接和編譯嵌入Python的簡單程序。 我試圖編譯的代碼如下:
#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這裏:Python/C API Reference Manual - Introduction爲了這個編譯我要補充編譯器和鏈接器的一些附加標誌。
爲了找出哪些標誌我要補充,我在我的終端上運行以下兩個命令(其中包括我相應的輸出):
$ 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)
即使我評論都在main
功能除了return 0
行它不會消失。
我不明白我在做什麼錯。
我使用Xcode 8.3.2
和我的Python分佈爲:Python 3.6.1 |Anaconda 4.4.0