Рейтинг:0

Неустранимая ошибка GCC: mpi.h: нет такого файла или каталога

флаг za

Когда я пытаюсь выполнить код с помощью этой команды:

gcc ASD.c -o ASD.out*

Я получаю это:

ASD.c:2:10: фатальная ошибка: mpi.h: нет такого файла или каталога
    2 | #include <mpi.h>
      | ^~~~~~~
компиляция прекращена.

Любая помощь, чтобы исправить это, пожалуйста?

N0rbert avatar
флаг zw
Пожалуйста, добавьте детали к вашему вопросу: что такое `ASD.c`, есть ли у вас какие-либо руководства по его компиляции? Какая у вас версия Ubuntu?
waltinator avatar
флаг it
Установите некоторые из пакетов, указанных в `dpkg -S /usr/include/mpi.h`
Рейтинг:3
флаг zw

Это сообщение об ошибке означает, что в вашей системе отсутствует заголовочный файл с именем мпи.ч.

В зависимости от вашего варианта использования вам необходимо установить следующие пакеты:

sudo apt-get install build-essential linux-generic libmpich-dev libopenmpi-dev
Victor Eijkhout avatar
флаг cn
Система OP может иметь заголовок `mpi.h`, но в строке компиляции нет опции включения `-Iwhatever` с каталогами MPI.
Рейтинг:1
флаг cn

Для составления кодов MPI следует использовать mpicc как компилятор. Это скрипт* вокруг gcc (или любого другого компилятора), который устанавливает правильные пути включения и библиотеки.

Если mpicc это неизвестная команда в вашей системе, см. другой ответ для отсутствующих пакетов.

* с OpenMPI это на самом деле небольшой исполняемый файл.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.