Gmp, видимо, не работает под MinGW - PullRequest
0 голосов
/ 29 августа 2011

Я боролся в течение всего дня с GMP и Mingw, и после ОГРОМНОГО количества попыток я сделал его установку. На самом деле я сделал следующее: установил новую совершенно новую копию MinGW (32-разрядная, стандартная последняя версия, загруженная из sourceforge), выбрал компонент msys во время установки, а затем использовал msys для установки GMP из исходных кодов. 1) Я скачал исходники с домашней страницы официального сайта gmplib (только стандартный выпуск исходного кода, ссылка в верхней части домашней страницы). 2) Я извлек его в какое-то место, доступное из msys. 3) Я сделал шаг "./configure" 4) Затем «сделай» шаг 5) Затем "сделать установку" 6) Затем «сделай проверку». Нет проблем, похоже, это просто работает. Я попытался скомпилировать это под GCC:

#include <stdio.h>
#include <gmp.h>

int main(int argc, char *argv[])
{
  mpz_t a, b;                       /* working numbers */
  return 0;
}

Скомпилировано без ошибок. Но потом, когда я пытаюсь добавить:

mpz_init(a); 

прямо под объявлением a, gcc распечатывает:

C: \ Users \ MATTEO ~ 1 \ AppData \ Local \ Temp \ cc6wXtx9.o: gmptest.c :(. Text + 0x1c): undefine d ссылка на `__gmpz_init ' collect2: ld вернул 1 статус выхода

Знаете ли вы что-нибудь об этой ошибке? Кто-нибудь может мне помочь? Большое спасибо!

Маттео

1 Ответ

0 голосов
/ 30 августа 2011

Просто предположение, но вы включили "-lgmp", чтобы сообщить компилятору о ссылке на библиотеку gmp?

...