如何在CMAKE上修复TBB

How can i fix tbb on CMake

本文关键字:TBB CMAKE      更新时间:2023-10-16

我有这个问题。

cmakelists.txt上的cmake错误:14(find_package(:不提供 cmake_module_path中的" findtbb.cmake"这个项目已要求cmake 查找" TBB"提供的软件包配置文件,但是CMAKE确实 找不到一个。

我找不到以下任何名称的" TBB"提供的软件包配置文件:

TBBConfig.cmake
tbb-config.cmake

将" TBB"的安装前缀添加到cmake_prefix_path或设置 " tbb_dir"到包含上述文件之一的目录。如果 " TBB"提供了一个单独的开发包或SDK,请确保它具有 已安装。

我该如何修复?

这是我的cmakelists.txt

cmake_minimum_required(VERSION 3.9)
project(deneme)
set(CMAKE_CXX_STANDARD 11)
include("C:/yunus/Git/inteltbb/tbb/cmake/TBBBuild.cmake")
tbb_build(TBB_ROOT "C:/yunus/Git/inteltbb/tbb" CONFIG_DIR TBB_DIR)
find_package(TBB REQUIRED tbb)
add_executable(deneme main.cpp ToDo.cpp ToDo.h)

TBB默认情况下没有FindTBB.cmake模块,因此错误消息中的指南有些误导。

如果您的项目提供了相应的FindTBB.cmake模块,则需要添加其路径以及TBB安装的路径到您的CMake调用,即

cmake . -G "<your generator here>" -DTBB_DIR=<path to TBB installation> -DCMAKE_PREFIX_PATH=<path to FindTBB.cmake>

否则,您需要下载合适的FindTBB.cmake模块,例如https://github.com/schuhschuh/cmake-basis-modules/blob/develop/findtbb.cmake

这是使用tbb_root而不是tbb_dir。

编辑:

首先尝试使用TBB的二进制软件包集成。评论include(...)tbb_build(...)命令,然后添加

target_link_libraries(deneme ${TBB_IMPORTED_TARGETS})

add_executable呼叫之后到您的CMakeLists.txt。然后致电

cmake . -G "<your generator here>" -DCMAKE_PREFIX_PATH=<path to your TBB installation>