gcc:对 _mcount 的未定义引用(gprof 检测)

问题描述 投票:0回答:2

使用

-pg
选项编译我的 C++ 源代码以注入 gprof 配置文件检测代码时,编译失败并出现
undefined reference to _mcount
错误。

如果没有这个选项,一切都可以正常编译(并运行)。 我的情况有什么问题吗? (Solaris 10 SPARC 平台)

gcc compiler-construction profiling solaris gprof
2个回答
27
投票

您是否两者都编译每个目标文件并使用“-pg”标志链接最终的可执行文件?


0
投票

在某些情况下,您的构建系统可能会将

-nostdlib
添加到命令行,因此 gcc / g++ 不会将您的程序链接到
gmon
gcrt2.o

如果您有

undefined reference to 'mcount'
,您可以在 LDFLAGS 或 LDADD 上添加
-lgmon
以显式链接它。

同样,如果显示

undefined reference to'_monstartup'
,则需要添加
path/to/gcrt2.o
(例如/bin/../lib/gcc/mingw32/4.3.3/../../../gcrt2.o) LDADD。

© www.soinside.com 2019 - 2024. All rights reserved.