2014-10-13 12 views
5

tôi nhận được lỗi sau khi tôi gỡ lỗi sử dụng gdb trên mã của tôi biên soạn với debug cờdebug trong boost :: toán :: Lanczos với libpcl_surface

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 

OS: unbutu 14.04

tôi có thư viện pcl mới nhất (1.7 Sprikelhof) và tăng thư viện (1.54)

Lưu ý, không có segfault khi chạy bên ngoài gdb.

+0

Tôi gặp vấn đề tương tự với thư viện GTSAM. Tôi nhận được segfault mỗi lần, bất kể tôi chạy trong GDB. Vui lòng đăng câu trả lời nếu bạn tìm thấy câu trả lời. – rcv

+1

chạy vào cùng một vấn đề, bằng cách nào đó nó hoạt động nếu tôi vô hiệu hóa C++ 11. – sled

+0

Cùng một vấn đề ở đây với chức năng Bào hình cầu của loại thứ nhất và thứ hai (sph_bessel) từ tăng 1.58.0: lỗi phân đoạn nếu bật C++ 11. – domini1000

Trả lời

6

Tôi gặp sự cố tương tự khi biên dịch bằng cách sử dụng -std=c++11 nhưng chỉ ở chế độ Debug: set(CMAKE_BUILD_TYPE Debug). Trong chế độ Release hoặc RelWithDebInfo, thay vào đó, mọi thứ hoạt động như mong đợi.

Tôi đã giải quyết vấn đề tối ưu hóa mã được biên dịch (ở chế độ Debug) với tùy chọn -O1. tức là set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1").

Tôi không lý do tại sao nó hoạt động nhưng nó làm việc cho tôi.

Các vấn đề liên quan