3

以下を使用してプログラムをコンパイルするのに問題があります。

最新の 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;
}

すべてのインクルードは、これをより大きなプログラムから切り詰めたためです。これを修正する方法はありますか?

ありがとう!

4

1 に答える 1