0

我已经安装了GCC4.7.2 和5.1.0 GMP,并且我在以下位置编写了这个简单的代码:main.cpp~/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图书馆,对吗?

那么如何链接外部库,例如GMPin GCC

4

1 回答 1

2

您的程序在这里可以正常工作,使用:

g++ main.cpp -o exe -lgmp

检查GCC 文档-l以获取该标志的描述。

于 2013-01-05T01:36:20.577 回答