小编yhr*_*yhr的帖子

Google Benchmark 作为 cmake 依赖项

我正在尝试编译一个依赖于 Libtorch (Pytorch) 库的谷歌基准测试。我已经安装了Google Benchmark,因此make install据我了解,我应该能够使用 find_package() 来添加两个依赖项。最后我添加了一些编译器标志。

这是我的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(learned_b VERSION 1.0)
add_executable(PROJECT_NAME learned_benchmark.cpp)

find_package(Torch REQUIRED)
find_package(benchmark REQUIRED)
target_link_libraries(PROJECT_NAME "${TORCH_LIBRARIES}")
target_include_directories(PROJECT_NAME PUBLIC "${benchmark_INCLUDE_DIRS}")
target_link_libraries(PROJECT_NAME "${benchmark_LIBRARIES}")

SET(GCC_LINK_FLAGS    "-isystem /Users/yhr/Programs/benchmark/include -lbenchmark -pthread")
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS}")
set_property(TARGET PROJECT_NAME PROPERTY CXX_STANDARD 11)
Run Code Online (Sandbox Code Playgroud)

应该注意的是,无论有没有 GCC_LINK_FLAGS,我总是会收到致命错误:找不到“benchmark/benchmark.h”文件。我的代码在仅依赖于 Pytorch 时正在编译和运行。是否可以将 find_package 与 google benchmark 一起使用?如果不是,我该如何正确处理这个问题?

编辑1:

这是我运行过的命令。

$ cd build
$ cmake -DCMAKE_PREFIX_PATH='/Users/yhr/Programs/libtorch;/Users/yhr/Programs/benchmark' ..
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/yhr/Programs/learnedbloomfilters/OpenBloomFilter
 $ cd …
Run Code Online (Sandbox Code Playgroud)

c++ cmake google-benchmark

5
推荐指数
1
解决办法
7421
查看次数

标签 统计

c++ ×1

cmake ×1

google-benchmark ×1