【发布时间】:2019-08-17 22:56:14
【问题描述】:
我正在尝试构建 google-benchmark 并使用 cmake 将其与我的库一起使用。我已经成功地构建了 google-benchmark 并使用 cmake 成功运行了它的所有测试。不幸的是,我无法使用 cmake 或 cl 在 Windows 中将它与我的 c++ 代码正确链接。
我认为的问题是 google-benchmark 在 src 文件夹中构建库,即它是在 src/Release/benchmark.lib 中构建的src 外部 Release 文件夹中的库,因为这是构建所有库的通常位置。而且很难找到适用于 Windows 的示例。
这是我尝试过的两种方法,都可以构建库并运行所有测试,但我无法正确地将库指向 target_link_library
include(ExternalProject)
ExternalProject_Add(googlebenchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG master
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build"
CONFIGURE_COMMAND ${CMAKE_COMMAND} -B ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build -S ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build --config Release
INSTALL_COMMAND ""
TEST_COMMAND ${CMAKE_CTEST_COMMAND} ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build --build-config Release
)
和
ExternalProject_Add(googlebenchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG master
PREFIX googlebenchmark
CMAKE_ARGS -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release
INSTALL_COMMAND ""
TEST_COMMAND ${CMAKE_CTEST_COMMAND} --build-config Release
)
在此之后如何将它链接到我的 c++ 文件 try.cpp
【问题讨论】:
-
我们必须安装基准才能正常工作?
-
是的。安装会将一些文件添加到公共目录。所以
GoogleBenchmark包文件可以被cmake找到。 -
但是不安装就不能使用吗?
-
我猜,谷歌中没有人使用 windows[无法]
标签: cmake benchmarking microbenchmark google-benchmark