5

我正在尝试在我的 C 和 C++ 程序中使用 GMP 库。我使用 Xcode 编写代码。我按照说明在我的机器上安装了 GMP,最终得到一个文件夹“~/usr/local/gmp-5.0.5”,其中包含 gmp.h 文件。

我怎样才能让我的程序看到这个库?例如,如果我决定将我的程序保存在桌面上???

安装gmp-5.0.5的最佳位置在哪里???使用 include "gmp.h" 将显示错误 "file not found"。

4

2 回答 2

14

我是这样做的:

https://gmplib.org/下载 GMP (gmp-6.0.0a.tar.lz) 从http://www.nongnu.org/lzip/lzip.html (lzip-1.16.tar.gz ) 下载 lzip

  1. 安装 lzip
    • 解压:tar -xvf lzip-1.16.tar.gz
    • 光盘 lzip-1.16
    • 。/配置
    • 制作
    • 检查
    • 进行安装(如果您收到权限被拒绝消息,请使用 sudo 运行它)
  2. 安装 gmp
    • 将 gmp-6.0.0a.tar.lz 文件复制到 /usr/local/lib(使用 sudo 执行)
    • 解压lz:lzip -d gmp-6.0.0a.tar.lz
    • 提取焦油:tar -xvf gmp-6.0.0a.tar
    • cd gmp-6.0.0/
    • 。/配置
    • 制作
    • 检查
    • 进行安装(如果您收到权限被拒绝消息,请使用 sudo 运行它)
于 2015-04-04T16:02:15.633 回答
2
  1. 如果您将库安装在 中/usr/local,您将能够简单地#include <gmp.h>添加-lgmp到您的链接器设置(链接 > 其他链接器标志)。

  2. 如果您坚持将库放在您的主目录中,例如~/local,那么您将需要添加~/local/include到您的标题搜索路径(搜索路径 > 标题搜索路径),~/local/lib到您的库搜索路径(搜索路径 > 库搜索路径)。这些位于项目或目标设置下。您还需要-lgmp按上述方式添加。

关于体系结构的注意事项: LibGMP 相当独特,它会在编译时选择目标体系结构,并且通常在可用的情况下选择 64 位目标。如果您的项目是 32 位,而您的 GMP 是 64 位,则链接将失败。

LibGMP 这样做是因为它所做的那种操作在 64 位架构上要快得多在 64 位上乘以大整数的速度大约是 32 位上的 4 倍。

警告:除非他们先安装 GMP,否则您的项目将不会在其他人的计算机上运行。

警告 2:如果您使用 GMP 静态链接以简化安装,则需要开源您的应用程序。除非你同意,否则不要静态链接。

于 2012-10-12T04:31:25.307 回答