MacPorts安装GCC 4.9的调试符号错误?

时间:2015-01-04 07:11:17

标签: c++ macos gcc gdb macports

我最近通过MacPorts安装了GCC 4.9.2(端口名称gcc49)。我很满意它的新功能,如彩色诊断和C ++ 1y / C ++ 14支持改进等。

然而,自从我开始使用GCC 4.9.2编译代码以来,我意识到它没有生成调试符号目录*.dSYM,并且当我尝试调试我编译的程序时gdb说“找不到调试符号” -g标志。

这是MacPorts特定的错误还是GCC 4.9存在问题?

由于

1 个答案:

答案 0 :(得分:1)

这不是MacPorts特定的问题。 MacPorts在定制gcc端口方面做的并不多。

如果你想创建一个dSYM包并剥离你的可执行文件,你应该做的事情如下:

gcc-mp-4.9 -g3 -c example.c 
gcc-mp-4.9 example.o -o example
dsymutil --out example.dSYM example
strip -S -x example

作为旁注,如果你想要C ++ 11 / C ++ 14支持,我建议你使用clang-3.5端口,这样你就可以使用系统中的libc ++代替来自MacPorts的libstdc ++(并且允许您可以使用系统和MacPorts C ++库而不仅仅是STL)。此外,lldb现在是OS X的首选调试器。