我尝试嵌入Python 3.3,如here所述。
我在使用Python 2.7的MacOS 10.8上,所以我从python.org下载了3.3版的二进制发行版。从它我得到了所有标题和“Python”,我重命名为“python33”,所以它不会与安装的“Python”lib发生冲突。我把所有东西放到一个文件夹中:
embed.c / include python33
“file 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
拜托,有没有人知道如何编译?
答案 0 :(得分:0)
运行python3.3-config --cflags
,您将获得系统所需的cflags。对于ldflags,命令为python3.3-config --ldflags
答案 1 :(得分:0)
首先和formost,库必须以'libxxx.so'的形式命名,然后链接器将使用'-L找到它。 -lxxx”。
即使这样,由此产生的可执行文件也不会起作用,因为不仅要复制/创建库而且要创建整个框架。
更多信息:http://lists.apple.com/archives/cocoa-dev/2013/Feb/msg00522.html