Неопределенная ссылка на omp_get_thread_num с использованием OpenMP и cmake?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Неопределенная ссылка на omp_get_thread_num с использованием OpenMP и cmake?

Сообщение Anonymous »

Я использую большую базу кода, которая успешно скомпилировалась перед использованием make с make-файлом и cmake. Однако теперь, когда я пытаюсь использовать с ним openmp, я получаю ошибки

undefined reference to `omp_get_thread_num'
undefined reference to `omp_get_num_threads'


Я не думаю, что это проблема с файлом CMakeLists.txt, потому что я создал отдельный каталог и успешно собрал и скомпилировал программу helloworld OpenMP. Так что же вызывает эту ошибку?

Я отредактировал CMakeLists.txt в project/src/project, включив -fopenmp, чтобы он содержал строку

set(CMAKE_CXX_FLAGS "-Wall -pedantic -Wextra -fopenmp")
....
TARGET_LINK_LIBRARIES(PROJECT ${OpenMP_CXX_LIBRARIES} ${PROJECT_LINK_LIBS}).


В CMakeLists.txt уже есть строки

FIND_PACKAGE( OpenMP)
if(OPENMP_FOUND)
message("OPENMP FOUND")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()
include_directories(SYSTEM ${OpenMP_INCLUDE_PATH})


Подробнее здесь: https://stackoverflow.com/questions/298 ... -and-cmake
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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