如何在CMakeLists.txt中为GNU g ++的编译器和链接器设置gprof标志?
我目前的做法
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -pg")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -pg")
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -pg")
不允许gprof分解C ++函数。有任何想法吗?(我正在使用C ++ 11)
尝试使用:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg")
那必须添加标记以进行编译和链接,并在执行程序后使用:
gprof ./my_exe
如果出现类似以下错误:
gmon.out: No such file or directory
这意味着编译没有适当地添加分析信息。
这里的一系列事件应该按如下方式工作:
1º Compile code with -pg option
2º Link code with -pg option
3º Run program
4º Program generates gmon.out file
5º Run gprof
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句