只有在使用调试标志编译的代码上使用gdb进行调试时,我才会收到以下错误
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
操作系统:解锁14.04
我有最新的pcl库(1.7Sprikelhof)和boost库(1.54)
注意,在gdb外部运行时没有segfault。
我在使用-std=c++11
编译时遇到了类似的问题,但仅在Debug
模式下:set(CMAKE_BUILD_TYPE Debug)
。相反,在Release
或RelWithDebInfo
模式下,一切都按预期工作。
我使用-O1
选项解决了优化已编译代码(在Debug
模式下)的问题。即CCD_ 8。
我不知道为什么它有效,但它对我有效。