繁体   English   中英

在 C++ 库中嵌入 Python

[英]Embedding Python in C++ libraries

我正在将 Python 嵌入到一些 C++ 代码中,但我在编译它时遇到了困难。

对于 header 文件,我有

#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

我对此有点陌生,但我认为我学得很快。 我相信我需要“链接”一个图书馆,对吧? 但是哪一个以及如何? 我需要动态的还是 static 的?

我正在使用 MacBook Pro。

您需要链接到 libpython。 UNIX 程序员在链接命令中使用“-lpython”(即在“g++”命令的末尾)执行此操作。 在 Mac 上,我认为它是“-framework Python”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM