Py_Initialize未定义的引用
Py_Initialize undefined reference
我想在C++代码中添加python函数。
我在 gtk(在 Raspberry PI 上(中制作了一个 GUI,现在我想使用一个在 python 中易于处理的相机模块。(我想在按下按钮时直接开始播放视频。
所以我包含了文件Python.h
#include <python3.4m/Python.h>
#include <python3.4m/pythonrun.h>
然后我认为它应该可以工作,但是当我尝试编译时Py_Initialize()
我收到错误:
对Py_Initialize的未定义引用。
我认为这很奇怪,因为当我输入时,出现了Py_Initialize
的选择。
就标头而言,您应该没问题,因为它编译但在链接时失败。
现在你需要链接到 Python 库。完成此操作的方式在很大程度上取决于您使用的工具链。
也许你可以在另一个问题中看到我的答案:
如果安装了Python 3.x,也许这个命令可以工作:
g++ hw.cpp `/usr/bin/python3-config --cflags` `/usr/python3-config --ldflags`
顺便说一下,你应该检查你的gcc和python版本。
据我所知,如果 gcc 版本是 5.4,python 版本是 3.7,它不起作用。(Python 3.5>是工作(
当你运行
/usr/bin/python3-config --cflags
,实际上,它是编译选项。
在 gcc 命令行上设置 python 包含文件夹及其静态库,并将 python 动态库放在LD_LIBRARY_PATH
上。在Py_Initialize()
之前,不要忘记用Py_SetPythonHome()
将python设置回家。这些步骤必须足以编译和运行代码。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中