gpt4 book ai didi

c++ - cmake : failing to link against google profiler (gperftools)

转载 作者:行者123 更新时间:2023-11-28 04:46:58 28 4
gpt4 key购买 nike

我在 ubuntu 16.04 上。

这是我做的:

  1. 已安装 gperftools:

    sudo apt-get install google-perftools libgoogle-perftools-dev
  2. 从以下位置下载 FindGperftools.cmake:https://github.com/vast-io/vast/blob/master/cmake/FindGperftools.cmake

  3. FindGperftools.cmake 重命名为 GperftoolsConfig.cmake 并将其放在我的包中的 cmake 文件夹中

  4. 添加到 CMakelists.txt:

    set (Gperftools_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake/")
    find_package(Gperftools REQUIRED)
  5. 在同一个 CMakelists.txt 中,链接我的可执行文件:

    target_link_libraries(my_executable ${GPERFTOOLS_PROFILER})
  6. 在终端中,导出 CPUPROFILE 环境变量:

    export CPUPROFILE=/my_path/prof.out
  7. 在同一终端中,运行可执行文件:

    ./my_executable

没有错误消息,但未创建日志文件 /my_path/prof.out

如果我在“my_executable”上运行“ldd”,它不会显示任何针对探查器的链接(ldd ./my_executable | grep profil 不会产生任何结果)。然而,当查看构建文件夹中的文件时,编译器似乎进行了链接(-lprofile 在那里)。

我可能忘记了什么?

注意:不确定是否相关,但我用的是catkin。

最佳答案

这看起来像 ubuntu 的(和非标准的)链接器功能,不链接那些不直接使用符号的库。尝试将 -Wl,-no-as-needed 添加到您的 LDFLAGS(并确保它在 -lprofiler 之前通过)。

关于c++ - cmake : failing to link against google profiler (gperftools),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49095153/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com