因此,我一直在尝试将 Python.h 用于我想从事的一个看起来很 /simple/ 的小项目。但在开始之前,我想尝试学习如何使用 Python.h。所以我在网上找到了这个小例子。
#include "Python/Python.h"
int main(int argc, char** argv)
{
Py_Initialize();
PyRun_SimpleString("print 'Test'");
PyRun_SimpleString("print str(3 + 5)");
Py_Exit(0);
}
看起来很简单。当我第一次使用
gcc test.cpp
编译,我得到了一些未定义的符号。我很快发现我应该使用
-lpython2.7
然后我发现我也可以使用
-L/Library/Frameworks/Python.framework/Versions/2.7/lib/
那没有用(我确保 /Library/Frameworks/Python/Versions/2.7/lib/ 存在)我被卡住了,我该怎么办?我明白了
Undefined symbols:
"_Py_Initialize", referenced from:
_main in ccoUOSlc.o
"_PyRun_SimpleStringFlags", referenced from:
_main in ccoUOSlc.o
_main in ccoUOSlc.o
"___gxx_personality_v0", referenced from:
_main in ccoUOSlc.o
CIE in ccoUOSlc.o
"_Py_Exit", referenced from:
_main in ccoUOSlc.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
编辑:我刚刚尝试使用 -Framework 参数,并尝试在 -L 之后添加 -l python2.7 参数,现在我得到了
Undefined symbols:
"___gxx_personality_v0", referenced from:
_main in ccfvtJ4j.o
CIE in ccfvtJ4j.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
怎么办?