Tôi đang cố gắng để có được ZBar trong phiên gỡ lỗi. Tôi có thể làm như vậy, nhưng tôi không thể làm cho trình tối ưu hóa tắt, vì vậy phiên gỡ lỗi của tôi nhảy xung quanh bất ngờ và nhiều biến được gắn nhãn là optimized-out
trong Eclipse Indigo. Tôi đang chạy trong Ubuntu.Không thể tắt trình tối ưu hóa gcc, Makefile từ tự động
Tôi đã thử thêm -O0 ở bên phải trong bất kỳ lệnh gọi gcc nào trong Makefiles nhất có thể, vì lần cuối -O là tác vụ hành động. Tôi đã sử dụng -Q --help = trình tối ưu hóa để tìm nội dung cần tìm, nhưng kết quả của nó hơi lạ:
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -O0 -O0 -Q --help=optimizers -Wall -Wno-parentheses -O0 -g -O0 -Q --help=optimizers -MT zbar/zbar_libzbar_la-config.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-config.Tpo -c zbar/config.c -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-config.o
The following options control optimizations:
make[1]: *** [zbar/zbar_libzbar_la-config.lo] Error 1
-O<number>
make: *** [all] Error 2
-Ofast
-Os
-falign-functions [disabled]
-falign-jumps [disabled]
-falign-labels [disabled]
-falign-loops [disabled]
-fasynchronous-unwind-tables [enabled]
-fbranch-count-reg [enabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [disabled]
-fcombine-stack-adjustments [disabled]
-fcommon [enabled]
-fcompare-elim [disabled]
etc...
Rõ ràng, tôi đã đặt -O0 ở một vài nơi. Tôi không có bất kỳ kinh nghiệm với automake, được sử dụng bởi ZBar. Tôi đang cố gắng để tránh phải làm cho Makefile của riêng tôi từ đầu, có bất cứ đề nghị về nơi để xem xét để vô hiệu hóa các ưu hoa? Tôi đã tìm kiếm các Makefiles cho tất cả các mối quan hệ liên quan đến tối ưu hóa của -O
và bất kỳ -f
nào; Tôi đã không tìm thấy. Dự án được làm sạch sau khi các nỗ lực sửa đổi Makefile được thực hiện.
Không có hiệu lực. Lưu ý rằng tôi không phải là tác giả của mã, và tôi chỉ đơn giản là cố gắng để hoàn thành một phân tích thuật toán. Đặt -O0 với lệnh gọi make đặt -O0 trước bất kỳ cờ nào khác để bật tối ưu hóa, làm cho nó không hiệu quả. Tôi không thấy bất kỳ cờ tối ưu nào được đặt trong hàng nghìn dòng mã Makefile ... – vlad417
CFLAGS phải là mục cuối cùng được đặt trong COMPILE trong makefile, vì vậy trừ khi trình duy trì gói ghi đè nỗ lực của bạn để đặt CFLAGS (nên được báo cáo là lỗi) cài đặt của bạn phải là cuối cùng. Nếu bạn thực hiện "CFLAGS = tùy chọn-là-một-lỗi", tùy chọn đó có xuất hiện trong quá trình biên dịch không? –
Khi tôi thêm cờ giả, tôi nhận được: 'gcc: lỗi: tùy chọn không được công nhận‘ tùy chọn-là-lỗi ’là – vlad417