分割故障,在C 中使用基本的增强使用情况
Segmentation Fault with basic Boost Usage in C++
我有一个非常基本的C 程序,其中最终目标将是创建一个返回python元组的函数。我将其剥离了这些最小的线:
#include <stdio.h>
#include <boost/python.hpp>
#include <boost/tuple/tuple.hpp>
int main(){
Py_Initialize(); // initialize the python module
boost::python::list test_list;
boost::python::tuple test = boost::python::tuple(test_list);
return 1;
}
但是,在线上:
boost::python::tuple test = boost::python::tuple(test_list);
我最终始终得到:
Segmentation fault: 11
我正在使用Mac OS X 10.9.1,并提升1.55。任何清晰度都将不胜感激。
这是崩溃报告:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
VM Regions Near 0x18:
-->
__TEXT 000000010bf76000-000000010bf78000 [ 8K] r-x/rwx SM=COW /Users/USER/*/*.out
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 org.python.python 0x000000010c1f4f40 PyObject_Call + 51
1 org.python.python 0x000000010c1f5101 0x10c1eb000 + 41217
2 org.python.python 0x000000010c1f508f PyObject_CallFunction + 187
3 libboost_python.dylib 0x000000010bf8a282 boost::python::detail::tuple_base::tuple_base(boost::python::api::object const&) + 34 (tuple.cpp:13)
4 a.out 0x000000010bf77885 boost::python::tuple::tuple<boost::python::list>(boost::python::list const&) + 53 (tuple.hpp:41)
5 a.out 0x000000010bf777dd boost::python::tuple::tuple<boost::python::list>(boost::python::list const&) + 29 (tuple.hpp:42)
6 a.out 0x000000010bf77431 main + 49 (camera_hello_world.cpp:8)
7 libdyld.dylib 0x00007fff8ead25fd start + 1
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x000000010c2f0328 rbx: 0x000000010c4f6050 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x000000010c2efb30 rsi: 0x000000010c4f6050 rbp: 0x00007fff53c899d0 rsp: 0x00007fff53c899a0
r8: 0x0000000000000000 r9: 0x0800000000000100 r10: 0x00007fff8ed8e83f r11: 0x00007fff825ec980
r12: 0x000000010c2efb30 r13: 0x000000010c2360c7 r14: 0x000000010c31c2a0 r15: 0x000000010c4f6050
rip: 0x000000010c1f4f40 rfl: 0x0000000000010202 cr2: 0x0000000000000018
谢谢大家的帮助。问题最终是我正在与Python相比的Python库版本之间的不一致之处。
相关文章:
- 用C++中的一个变量定义一个常量
- 用c++从输入文件中读取另一行
- 用C++20 fmt限制结果的总大小
- 在Windows上用C++裁剪HBITMAP
- 用c++阅读音频
- 无法将结构注册为增强几何体3D点
- 试图在visual studio上用C++创建一个桌面应用程序
- 用C++在单独的头文件中完成函数体
- 用C++中的sscanf赋值
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 用枚举场和STL容器解析结构,并使用增强精神/融合轻松
- 用Cmake进行多种配置来编译增强
- 崩溃:分段故障:增强序列化加载 - 用null调用构造函数
- 用.v2扩展名建筑物增强日期/时间jamfile
- 用增强精神完全解码HTTP标头值
- 以增强精神来定义用子份子参数的解析器
- 用前瞻性解决歧义增强::精神::气语法
- 增强进程间争用条件预防
- 用typedef结构体增强shared_ptr
- 用min_element增强信号