0

GCC私は4.7.2 とGMP5.1.0 をインストールしました。次の簡単なコードをmain.cpplocate atに書きました~/Desktop:

#include <iostream>
#include <gmp.h>

using namespace std;

int main ()
{
    mpz_t a;

    mpz_init(a);

    mpz_set_ui(a, 42);

    cout << "Hello, world!" << endl;
}

私はそれをコンパイルします:

$ g++ main.cpp -o exe

しかし、私はこのエラーメッセージを受け取ります:

Undefined symbols for architecture x86_64:
  "___gmpz_init", referenced from:
      _main in ccC0FXun.o
  "___gmpz_set_ui", referenced from:
      _main in ccC0FXun.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

GMPライブラリが見つからないからだと思いますよね?

では、のような外部ライブラリをどのようにリンクできGMPますGCCか?

4

1 に答える 1

2

あなたのプログラムは、ここで次を使用して問題なく動作します。

g++ main.cpp -o exe -lgmp

フラグの説明については、 GCC のドキュメントを確認してください。-l

于 2013-01-05T01:36:20.577 に答える