仅当我使用gdb对使用debug标志编译的代码进行调试时,才会出现以下错误
Program received signal SIGSEGV, Segmentation fault.
0x00007fffc79a7ff0 in boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init() ()
from /usr/lib/libpcl_surface.so.1.7操作系统: unbutu 14.04
我有最新的pcl库(1.7 Sprikelhof)和boost库(1.54)
请注意,在gdb之外运行时不会出现段错误。
发布于 2015-03-04 22:53:43
在使用-std=c++11进行编译时,我遇到了一个类似的问题,但仅限于在Debug模式下:set(CMAKE_BUILD_TYPE Debug)。相反,在Release或RelWithDebInfo模式下,一切都像预期的那样工作。
我用-O1选项解决了优化编译代码(在Debug模式下)的问题。即set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1")。
我不知道它为什么有效,但它对我来说是有效的。
https://stackoverflow.com/questions/26346690
复制相似问题