Ошибка при сборке с помощью vtk: «фатальная ошибка: файл tbb / atomi c .h не найден» - PullRequest
0 голосов
/ 08 января 2020

Я работаю над программой на c ++, которая использует opencv и vtk. Это включения в моем основном файле:

#include <fstream>
#include <sstream>
#include <iostream>

#include <opencv2/dnn.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core/types_c.h>
#include <vtkSmartPointer.h>
#include <vtkDirectory.h>

Я запускаю следующие команды:

mkdir build
cd build
cmake ..
make

Файлы успешно генерируются, но когда я запускаю make, я получаю эту ошибку :

Scanning dependencies of target MyProject
[ 50%] Building CXX object CMakeFiles/MyProject.dir/MyProject.cpp.o
In file included from [...]/MyProject.cpp:33:
In file included from /usr/local/include/vtkSmartPointer.h:26:
In file included from /usr/local/include/vtkSmartPointerBase.h:30:
In file included from /usr/local/include/vtkObjectBase.h:54:
In file included from /usr/local/include/vtkAtomicTypes.h:18:
/usr/local/include/vtkAtomic.h:28:10: fatal error: 'tbb/atomic.h' file not found
#include <tbb/atomic.h>
         ^~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/MyProject.dir/MyProject.cpp.o] Error 1
make[1]: *** [CMakeFiles/MyProject.dir/all] Error 2
make: *** [all] Error 2

Это мой файл Cmake:

cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
project( MyProject )

find_package( OpenCV REQUIRED )

find_package(VTK REQUIRED)
if (NOT VTK_FOUND)
  message("Skipping MyProject: ${VTK_NOT_FOUND_MESSAGE}")
  return ()
else()
  include(${VTK_USE_FILE})
  add_executable(MyProject MyProject.cpp )
  target_link_libraries(MyProject ${VTK_LIBRARIES})
  target_link_libraries(MyProject ${OpenCV_LIBS})
endif()
message (STATUS "VTK_VERSION: ${VTK_VERSION}")

1 Ответ

1 голос
/ 08 января 2020

Я подумал, что tbb не был установлен, и обнаружил, что он не связан:

$ brew install tbb
Updating Homebrew...
Warning: tbb 2020_U0 is already installed, it's just not linked
You can use `brew link tbb` to link this version.

Разрешен при запуске brew link tbb

...