python - C++ Boost + Python:对 Py_Dealloc 的未定义引用
问题描述
我正在尝试在 Boost 上使用 Python 模块。但是,我遇到了一个错误,我找不到该怎么办。
好像是缺少开关什么的,但我真的找不到...
有人有线索吗?
谢谢!!!
/usr/include/python3.8/object.h|478|undefined reference to `_Py_Dealloc'|
系统数据:
Using Code::blocks, Python 3.8, Linux Mint, installed Boost by apt-get
构建日志:
g++ -Wall -fexceptions -g -I/usr/lib/x86_64-linux-gnu/ -I/usr/include/python3.8/ -I/home/tavares/Downloads/boost/boost_1_77_0/stage/lib -c /home/tavares/Trabalho/pesquisa/softwares/optpipeline/PyOPY/PyOPI/bark.cpp -o obj/Debug/bark.o
g++ -Wall -fexceptions -g -I/usr/lib/x86_64-linux-gnu/ -I/usr/include/python3.8/ -I/home/tavares/Downloads/boost/boost_1_77_0/stage/lib -c /home/tavares/Trabalho/pesquisa/softwares/optpipeline/PyOPY/PyOPI/main.cpp -o obj/Debug/main.o
g++ -L/usr/lib/x86_64-linux-gnu/ -o bin/Debug/PyOPI obj/Debug/bark.o obj/Debug/main.o -lboost_program_options -lboost_system -lboost_python38
/usr/bin/ld: obj/Debug/bark.o: in function `_Py_DECREF':
/usr/include/python3.8/object.h:478: undefined reference to `_Py_Dealloc'
/usr/bin/ld: obj/Debug/bark.o: in function `boost::python::detail::none()':
/usr/local/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
/usr/bin/ld: /usr/local/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
/usr/bin/ld: obj/Debug/bark.o: in function `boost::python::api::object::object()':
/usr/local/include/boost/python/object_core.hpp:400: undefined reference to `_Py_NoneStruct'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu//libboost_python38.so: undefined reference to `PyExc_ValueError'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu//libboost_python38.so: undefined reference to `PyLong_AsLong'
解决方案
推荐阅读
- reactjs - 404 路由被渲染一瞬间
- angular - 为什么客户端获取的数据会出现在 Angular SSR/universal 的视图源中?
- python - Python,Selenium - 解析。无法从动态填充中获取信息
- google-sheets-formula - 从 Google 表格中的不同单元格运行相同的公式
- tsql - 如何在左外连接选择中使用主选择中的值 - T-SQL
- android - 在导航 ui 中按后退箭头执行操作
- java - Java AWT 图形类:制作正方形的行和列
- javascript - 由于 MIME 错误,CSS 在网页上不起作用
- c++ - 如何使用 Raylib 在 VSCode 中打包代码
- vue.js - nuxt:将隐藏数据传递给路由