在CentOS 7上构建Boost的调试版本

问题描述:

我正在尝试使用以下命令在CentOS 7上构建Boost的调试版本:

I'm trying to build a debug version of Boost on CentOS 7 with the following command:

./b2 runtime-link =共享的runtime-debugging = on variant = debug link =共享的安装

但是,在生成的库文件的名称中没有看到 g d ABI标志.我做错什么了吗?在Windows上构建时一切正常.

However, I don't see the g nor d ABI flag in the names of the generated library files. Have I done something wrong? Everything works just fine when building on Windows.

我认为应该可以.

如果像您一样进行构建,并使用objdump检查生成的库之一

If building like you do and inspecting one of the resulting libs with objdump

objdump --syms libboost_wave.so | grep debug

我知道

...
0000000000000000 l    d  .debug_aranges 0000000000000000              .debug_aranges
0000000000000000 l    d  .debug_info    0000000000000000              .debug_info
0000000000000000 l    d  .debug_abbrev  0000000000000000              .debug_abbrev
0000000000000000 l    d  .debug_line    0000000000000000              .debug_line
0000000000000000 l    d  .debug_str     0000000000000000              .debug_str
0000000000000000 l    d  .debug_ranges  0000000000000000              .debug_ranges
...

如果构建时没有"runtime-debugging = on variant = debug",则相应结果不会导致与"grep debug"匹配.

If building without "runtime-debugging=on variant=debug" the corresponding result do not result in any matches for "grep debug".