Я создаю большой проект с make-файлом, который был первоначально построен с помощью icpc, и теперь мне нужно запустить его с g ++.using openmp с makefile и g ++
Когда он компилирует файл, использующий openmp, он использует флаг -c и не использует никаких библиотек, поэтому он становится серийным, а не openmp. Все примеры, которые я вижу, не используют этот флаг -c.
Есть ли способ скомпилировать без ссылки, но используя openmp?
редактировать:
Я использовал флаг -lgomp (и библиотека находится на пути к библиотеке):
г ++ -lgomp -c -w -O4 mainS.cpp
g ++: -lgomp: файл ввода-сообщения компоновщика не используется, потому что ссылка не выполнена
Редактировать: мой босс допустил несколько ошибок в коде, файле makefile и документации. Извините, что потратил впустую ваше время, по крайней мере, это было меньше, чем 5 часов, которые я трачу на это =/
Добавление флага -fopenmp, похоже, не сработало. – Jeremy
@Jeremy, я предполагаю, что вы проверили, что ваш versio n g ++ построен с поддержкой OpenMP? –
у него есть библиотека lgomp на пути, если это то, что вы имеете в виду. Кроме того, я не уверен, как проверить. – Jeremy