Can';t关闭gcc优化器,从automake生成文件

Can';t关闭gcc优化器,从automake生成文件,gcc,compiler-optimization,automake,zbar-sdk,Gcc,Compiler Optimization,Automake,Zbar Sdk,我正在尝试进入调试会话。我可以这样做,但我无法关闭优化器,因此我的调试会话意外地跳转,许多变量在EclipseIndigo中标记为optimized out。我在Ubuntu上运行 我已经尝试在makefile中的任何gcc调用中尽可能右地添加-O0,因为最后一个-O是代理的。我使用-Q--help=optimizers查找要查找的内容,但其输出有点奇怪: libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./in

我正在尝试进入调试会话。我可以这样做,但我无法关闭优化器,因此我的调试会话意外地跳转,许多变量在EclipseIndigo中标记为
optimized out
。我在Ubuntu上运行

我已经尝试在makefile中的任何gcc调用中尽可能右地添加-O0,因为最后一个-O是代理的。我使用-Q--help=optimizers查找要查找的内容,但其输出有点奇怪:

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...
libtool:compile:gcc-DHAVE_-CONFIG_H-I./include-I./zbar-I./include-O0-O0-Q--help=optimizers-Wall-Wno括号-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-la-CONFIG.o
以下选项控制优化:
make[1]:***[zbar/zbar_libzbar_la-config.lo]错误1
-O
make:**[全部]错误2
-过去
-操作系统
-falign功能[禁用]
-错误跳转[禁用]
-falign标签[禁用]
-falign循环[禁用]
-fasynchronous unwind tables[已启用]
-fbranch count reg[已启用]
-fbranch概率[禁用]
-fbranch目标负载优化[禁用]
-fbranch-target-load-optimize2[已禁用]
-fbtr bb专用[禁用]
-fcaller保存[已禁用]
-F联合收割机堆叠调整[禁用]
-fcommon[已启用]
-fcompare elim[已禁用]
等

显然,我已经在几个地方放了-O0。我对ZBar使用的automake没有任何经验。我试图避免从头开始创建自己的Makefile,有没有关于禁用优化器的建议?我已经在makefile中搜索了所有与优化相关的
-O
,以及任何
-f
;我没有找到。在尝试修改Makefile后,项目被清理。

禁用优化最容易在运行configure或make时完成。或者

configure CFLAGS='-g -O0' CXXFLAGS='-g -O0'


你应该做你想做的。如果在配置期间设置CFLAGS/cxflags,则这些值将用于所有不覆盖它们的make调用,而在make时设置它们是一次性的。

两者都无效。请注意,我不是代码的作者,我只是想完成一个算法分析。将-O0与make调用放在一起,将-O0放在任何其他标志的前面,以启用优化,使其无效。我没有看到在数千行Makefile代码中设置任何优化标志……CFLAGS应该是Makefile中COMPILE中设置的最后一项,因此,除非包维护人员覆盖您设置CFLAGS的尝试(应该报告为bug),否则您的设置应该是最后一项。如果您执行“CFLAGS=-此选项为错误”,则该选项是否会在编译过程中出现?当我添加false标志时,我得到:
gcc:error:unrecogned option'-此选项为错误'
我刚刚粗略查看了zbar自动工具的设置,它看起来是正确的。您看到的优化标志可能来自pkg config。如果您从make提供了一个示例输出,其中显示了您试图避免的实际标志,这将有所帮助。
make CFLAGS='-g -O0' CXXFLAGS='-g -O0' clean all