cst*_*sta 5 c++ python linker embedding
我正在努力将 Python 嵌入到一些 C++ 代码中,但我在编译它时遇到了困难。
\n\n对于头文件,我有
\n\n#include <Python.h>\nRun Code Online (Sandbox Code Playgroud)\n\n我会初步尝试,
\n\n$g++ EmbeddedPython.cpp\nRun Code Online (Sandbox Code Playgroud)\n\n但最终会得到
\n\nEmbeddedPython.cpp:1:20: error: Python.h: No such file or directory\nEmbeddedPython.cpp: In function \xe2\x80\x98int main(int, char**)\xe2\x80\x99:\nEmbeddedPython.cpp:6: error: \xe2\x80\x98Py_Initialize\xe2\x80\x99 was not declared in this scope\n....\nRun Code Online (Sandbox Code Playgroud)\n\n然后我尝试了
\n\ng++ EmbeddedPython.cpp -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5\nRun Code Online (Sandbox Code Playgroud)\n\n这消除了前两个错误,但我仍然得到了
\n\n Undefined symbols:\n "_Py_Initialize", referenced from:\n _main in ccxJAUAB.o\nRun Code Online (Sandbox Code Playgroud)\n\n我对此有点陌生,但我认为我学得很快。我相信我需要“链接”一个库,对吗?但是哪一个以及如何实现呢?我需要动态的还是静态的?
\n\n我正在使用 MacBook Pro 工作。
\n您需要链接 libpython。UNIX 程序员在链接命令中使用“-lpython”(即在“g++”命令的末尾)来执行此操作。在 Mac 上,我认为它会是“-framework Python”。
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |