4

在 catkin 项目中,catkin_make 失败。CMakeLists 包括

find_package(Gperftools REQUIRED) 

我已经安装了 google-perftools:

google-perftools is already the newest version (2.4-0ubuntu5)

CMake 错误说它找不到 gperftools,或者至少找不到路径变量:

CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Gperftools (missing: GPERFTOOLS_LIBRARIES
  GPERFTOOLS_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  tuw_mpn/FindGperftools.cmake:39 (find_package_handle_standard_args)
  tuw_mpn/CMakeLists.txt:40 (find_package)

经过几个小时的搜索,我还没有找到设置的描述。有人可以解释我如何解决这个错误吗?

在此先感谢,我希望我已经为这个问题提供了足够的信息。

干杯,迈克尔

4

3 回答 3

2

不确定FindGperftools.cmake您使用的是哪个脚本,但这个脚本会搜索 librarytcmalloc_and_profiler和 header gperftools/heap-profiler.h

但是包google-perftools 不提供这些文件。(实际上,这个包不提供任何头文件或库。)

该库由包提供。libgoogle-perftools4可能应该有一些提供标题的开发包。

于 2016-11-20T22:05:47.717 回答
2

您需要提供FindGperftools.cmake

例如来自: https ://github.com/vast-io/vast/blob/master/cmake/FindGperftools.cmake

CMakeLists.txt添加以下内容:

# set the path to the library folder
link_directories(/usr/local/lib)

#Append Gperftools_DIR 
LIST(APPEND CMAKE_MODULE_PATH "/DirectoryWhereTheFindGperftools.cmakeIs")

find_package(Gperftools REQUIRED)
于 2017-04-05T09:15:22.317 回答
1

我使用的是 Ubuntu 16.04,你也遇到了同样的问题。我认为问题在于缺少一些软件包:

sudo apt-get install gperf  libgoogle-perftools-dev

已经解决了我的问题,你可以试试。

于 2018-07-10T02:58:35.413 回答