Требует ли включение связывания с tbb?C++

Программы на C++. Форум разработчиков
Anonymous
Требует ли включение связывания с tbb?

Сообщение Anonymous »

В моем проекте на платформе Ubuntu 20 (с g++ 9.3.0) я использую следующую строку

Код: Выделить всё

#include 
для поддержки параллельной обработки с помощью функций стандартной библиотеки. Я не включаю ничего из TBB, библиотеки параллельного выполнения от Intel. Но затем, когда я создаю программу, я получаю сообщение:

Код: Выделить всё

/usr/bin/ld: CMakeFiles/probis.dir/src/probis.cpp.o: in function `tbb::interface7::task_arena::current_thread_index()':
/usr/include/tbb/task_arena.h:449: undefined reference to `tbb::interface7::internal::task_arena_base::internal_current_slot()'
Это достаточно легко решить (например, убрать сообщение), добавив -ltbb в строку компоновщика. Но тогда у меня есть зависимость от libtbb, на которую я не рассчитывал.
Ожидается ли эта зависимость? Можно ли использовать параллельное выполнение без установки tbb (но этот tbb переопределяет настройку по умолчанию при установке)?

Подробнее здесь: https://stackoverflow.com/questions/671 ... gainst-tbb

Вернуться в «C++»