以下を使用してプログラムをコンパイルするのに問題があります。
最新の Msys および MinGW インストール Windows 7 Pro / Intel Core I5 / 8GB
GMP 5.1.2 ライブラリ - ヘッダー ファイルは C:\gmp\include にあります - .a および .la ファイルは C:\gmp\lib にあります
私はもともとこれをEclipseの質問として投稿しましたが、沈黙は耳をつんざくようなものでした. それ以来、msys で gcc だけを使用してコンパイルを試みましたが、同じ問題が発生します。私は以下を使用してコンパイルします:
g++ -I /c/gmp/include -O0 -g3 -Wall -c -fmessage-length=0 -o main.o ./main.cpp
これは正常に完了したように見えます。次に、次を使用してリンクします。
g++ -L /c/gmp/lib -o GMPDebug.exe main.o
結果:
main.o: 関数main':
C:\Users\Clay\workspace\GMPDebug\Debug/../main.cpp:22: undefined reference to
__gmpz_init_set_str' collect2.exe: エラー: ld が 1 つの終了ステータスを返しました
プログラムは非常に単純です - ライブラリを動作させるのに十分です:
#include <getopt.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <time.h>
#include <iostream>
#include <gmpxx.h>
#include <gmp.h>
using namespace std;
int main ()
{
mpz_t p;
mpz_init_set_str (p,"3",10);
return 0;
}
すべてのインクルードは、これをより大きなプログラムから切り詰めたためです。これを修正する方法はありますか?
ありがとう!