gmpxx.h: такого файла или каталога нет

Я только что установил новую копию mingw (32-битную), загрузив ее с официальной страницы проекта с Sourceforge. . Я установил все в пакете, все компиляторы и т.д. Затем я скачал с здесь gmp для MinGW . Я извлек gmp-5.0.1-1-mingw32-src.tar.lzma куда-то в свою папку mingw, а затем запустил оттуда ./pkgbuild. Он продолжал работать несколько минут, а затем распечатал что-то вроде COMPLETED EVERYTHING OK, EVERYTHING PASS.

Затем я записал этот простой пример, чтобы проверить, будет ли он работать:

#include <gmpxx.h>

int main (void)
{
  mpz_class a, b, c;

  a = 1234;
  b = "-5678";
  c = a+b;
  cout << "sum is " << c << "\n";
  cout << "absolute value is " << abs(c) << "\n";

  return 0;
}

А затем скомпилировал его с помощью g++ mycxxprog.cc -lgmpxx -lgmp. Единственный ответ, который я получаю:

Fatal error: gmpxx.h: No such file or directory.

У кого-нибудь есть подсказка? Я действительно не знаю, что мне делать...


person Matteo Monti    schedule 30.08.2011    source источник


Ответы (4)


Вы должны убедиться, что он входит в число каталогов, в которых выполняется поиск заголовков. Найдите место, где находится заголовок gmpxx.h, и добавьте -I /path/to/header/ в строку g++.

person carlpett    schedule 31.08.2011
comment
Я столкнулся с той же проблемой здесь, и я не нахожу файл: я запускаю sudo find / -iname gmpxx.h и ничего не возвращает. :с - person Hilder Vitor Lima Pereira; 26.03.2015
comment
@VitorLima: Вы уверены, что у вас установлены необходимые пакеты? - person carlpett; 27.03.2015
comment
Я вернулся на сайт gmp и обнаружил, что должен передать флаг --enable-cxx в сценарий настройки. Итак, я перекомпилировал библиотеку gmp и запустил ldconfig. Теперь он работает нормально, мне даже не нужно использовать опцию -I для компиляции моих программ. (: - person Hilder Vitor Lima Pereira; 27.03.2015

Заголовочный файл gmpxx.h включен в пакет libgmp-dev

Вы можете установить его на машины с Ubuntu с помощью этой команды:

$ sudo apt-get install libgmp-dev
person jap1968    schedule 16.04.2015
comment
Проблема на MinGW, так что тут бесполезно рассказывать, что делать на машинах с Ubuntu... - person Max; 06.04.2020

Вы также можете скопировать его по пути "/usr/include/", система его найдет.

person zhao yue    schedule 31.12.2012

Если вы собираете gmp из исходного кода, вам нужно добавить флаг --enable-cxx в команду configure.

person Dave Something    schedule 08.07.2018