【发布时间】:2011-07-01 22:58:12
【问题描述】:
我正在努力将 Python 嵌入到一些 C++ 代码中,但我在编译它时遇到了困难。
对于头文件,我有
#include <Python.h>
我会初步尝试,
$g++ EmbeddedPython.cpp
但最终会得到
EmbeddedPython.cpp:1:20: error: Python.h: No such file or directory
EmbeddedPython.cpp: In function ‘int main(int, char**)’:
EmbeddedPython.cpp:6: error: ‘Py_Initialize’ was not declared in this scope
....
然后我尝试了
g++ EmbeddedPython.cpp -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5
这消除了前两个错误,但我仍然结束了
Undefined symbols:
"_Py_Initialize", referenced from:
_main in ccxJAUAB.o
我对此有点陌生,但我认为我学得很快。我相信我需要“链接”一个图书馆,对吧?但是哪一个以及如何?我需要动态的还是静态的?
我正在使用 MacBook Pro。
【问题讨论】:
-
我还有一个macbook pro,python2.5,python2.6和python2.7。
-
让我添加了 /usr/lib/libpython.dylib
标签: c++ python linker embedding