Makefile kapatılamıyor Bir hata ayıklama oturumunda ZBar almaya çalışıyorum. Bunu yapabilirim, ancak optimizatörün kapanmasını sağlayamıyorum, bu yüzden hata ayıklama oturumum beklenmedik şekilde atlar ve birçok değişken Eclipse Indigo'da optimized-out
olarak etiketlenir. Ubuntu'da koşuyorum.gcc optimizer, automake
son -O davranan biridir beri, mümkün olduğunca Makefile herhangi gcc çağrısında kadarıyla sağ O0 ekleyerek çalıştılar. Aradığım edilecek olanı bulmak için -Q --help = optimize kullanılır, ancak çıkış biraz tuhaf: Açıkçası
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...
, ben çeşitli yerlerde O0 koyarak oldum. ZBar tarafından kullanılan automake ile hiç tecrübem yok. Kendi Makefile'imi sıfırdan yapmaya çalışmaktan kaçınmaya çalışıyorum, optimizatörün nerede devre dışı bırakılacağı konusunda bir öneri var mı? Makefiles'ı zaten tüm -O
'ler için ve -f
' un optimizasyonla ilgili olarak aramıştım; Ben hiçbir şey bulamadım. Makefile modifikasyon girişimleri yapıldıktan sonra proje temizlendi.
Hiçbir etkisi yoktur. Kodun yazarı olmadığımı ve bir algoritma analizini tamamlamaya çalıştığımı unutmayın. -O0'u arama çağrısı ile koymak, optimizasyonu sağlamak için -O0'u diğer herhangi bir işaretin önüne koyar ve bu da onu etkili olmaz. Binlerce satırlık Makefile kodunda ayarlanmış herhangi bir optimizasyon bayrağı göremiyorum ... – vlad417
CFLAGS, makefile'de COMPILE içinde ayarlanmış en son öğe olmalıdır, bu nedenle, paket koruyucusu CFLAGS'yi ayarlama girişiminizi geçersiz kılmıyorsa (bir hata olarak bildirilmelidir) ayarınız son olmalıdır. Eğer "CFLAGS = -this-option-is-an-error" yaparsanız, derleme sırasında bu seçenek belirir mi? –
Sahte bayrağı eklediğimde: gcc: error: tanınmayan seçenek ‘-bu seçenek-bir-bir hata var ' – vlad417