首先是测试代码 test2.cpp
#include <python/python.h>
int main(int argc, char *argv[])
{
Py_SetProgramName(argv[0]);
Py_Initialize();
PyRun_SimpleString("print 'Hello Python!'\n");
Py_Finalize();
return 0;
}
我首先用xcode编程直接用c++的project来debug结果是一推的undefined
然后用终端 以下语句来跑 gcc test2.cpp 结果是
Undefined symbols for architecture x86_64:
"_PyRun_SimpleStringFlags", referenced from:
_main in test2-c72d67.o
"_Py_Finalize", referenced from:
_main in test2-c72d67.o
"_Py_Initialize", referenced from:
_main in test2-c72d67.o
"_Py_SetProgramName", referenced from:
_main in test2-c72d67.o
ld: symbol(s) not found for architecture x86_64
网上冲浪后发现 gcc或g++需要告知python版本因此用该语句
gcc test2.cpp -I/usr/include/python2.7 -lpython2.7
g++ test2.cpp -I/usr/include/python2.7 -lpython2.7
结果确实没有undefined了,但是并没有出现预想的hello world