Как настроить OpenMP? - PullRequest
       59

Как настроить OpenMP?

0 голосов
/ 24 октября 2019

Я использую Codeblocks и мне нужно запустить программу OpenMP C. Итак, я добавил флаг -fopenmp в Codeblocks (настройки компилятора) и теперь получаю ошибку ' mingw32-g ++. Exe: error: libgomp.spec: Нет такого файла или каталога '

Итак, после небольшого поиска в Интернете об ошибке, я скачал TDM-GCC (установлен в C: \ TDM-GCC-64). Но все же та же ошибка отображается в кодовых блоках.

Что я делаю не так?

Вот журнал сборки:

mingw32-gcc.exe -c "D: \ Language Files \ MatrixMultiplication.c" -o "D: \ Language Files \ MatrixMultiplication.o"

mingw32-g ++. exe -o "D: \ Language Files \ MatrixMultiplication. exe "" D: \ Language Files \ MatrixMultiplication.o "-fopenmp

mingw32-g ++. exe: ошибка: libgomp.spec: такого файла или каталога нет

1 Ответ

0 голосов
/ 24 октября 2019

Существует несколько возможных причин: либо вы не установили OpenMP с компилятором, либо допустили ошибку в конфигурации Code :: Blocks. В любом случае выполните следующие шаги, и вы сможете исправить это. Похоже, вы работаете в Windows, но я также добавил замечания о том, как это сделать в Linux.

1) Вам потребуется компилятор , который поставляется с OpenMP. Для Windows скачайте TDM-GCC предпочтительно 64-битный исполняемый файл (второй файл) и установите it. Убедитесь, что вы выбрали OpenMP на вкладке компонента : Компоненты> gcc (ток TDM: ....)> OpenMP (последняя запись). Linux уже поставляется с GCC, поэтому просто откройте командную строку и получите OpenMP, набрав sudo apt-get install libomp-dev в терминале.

2) Вам нужно будет Настройте компилятор в Code :: Blocks сейчас: перейдите к Настройки> Компилятор в разделе Выбранный компилятор выберите Компилятор GNU GCC и нажмите Копировать и введитеудобное имя для вашего нового компилятора, например TDM-GCC Compiler . Перейдите в Исполняемые файлы набора инструментов и просмотрите каталог для всех Программных файлов (компилятор C, компилятор C ++, компоновщики, отладчик, компилятор ресурсов, Make), в котором вы сможете найти их C: \ TDM-GCC-64 \ ... \ bin на компьютере с Windows, если вы выбрали установку по умолчанию. Я не могу сказать вам точный подкаталог, так как я работаю на машине с Linux, но вы сможете найти его довольно легко. В зависимости от вашей установки может быть две папки для 32- и 64-разрядных. Для Linux этот шаг не обязателен.

4) Затем вам нужно установить Linker settings . Это можно сделать для всех проектов (которые я бы не рекомендовал), выполнив следующие действия в вышеупомянутом меню или для своего текущего проекта, нажав Проект> Параметры сборки . Перейдите к Настройки компоновщика соответствующей конфигурации ( Отладка или Release ) и нажмите Добавить в Библиотеки ссылок . На компьютере с Windows вам нужно будет просмотреть файл с именем libgomp-1.dll (32-разрядный) или libgomp_64-1.dll (64-разрядный), который должен находиться вта же папка, что и вышеупомянутые Программные файлы . В Linux вместо этого выберите -lgomp в Другие параметры компоновщика .

3) Установите флаг компилятора -fopenmp (для всех проектов или только для текущего), перейдя в Настройки компилятора> Другие опции компилятора и введя туда -fopenmp.

4) Протестируйте его с помощью программы, подобной OpenMP "Hello World" .

...