我最近通过MacPorts安装了GCC 4.9.2(端口名称gcc49)。我很满意它的新功能,如彩色诊断和C ++ 1y / C ++ 14支持改进等。
然而,自从我开始使用GCC 4.9.2编译代码以来,我意识到它没有生成调试符号目录*.dSYM
,并且当我尝试调试我编译的程序时gdb说“找不到调试符号” -g
标志。
这是MacPorts特定的错误还是GCC 4.9存在问题?
由于
答案 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的首选调试器。