对于我正在编写的C项目,我需要使用GMP库,我已将其解压缩到我的主目录中(使用带有bash的OpenBSD OS)。 我正在通过git与其他人合作,所以我无法将标题更改为相关文件,而目前GCC正在提供无法找到它的错误。 我没有root privelidges,所以我不能只安装它。

如何让GCC在我的主文件夹而不是通常的位置查找GMP库?

===============>>#1 票数:4 已采纳

编译时使用参数-I告诉GCC在哪里查找头文件, -L告诉GCC在哪里查找libraires。

例如:

$ gcc -I/location/of/library/headers -c foo.c -o foo.o
$ gcc -L/location/of/library/libs foo.o -o foo -llibrary

===============>>#2 票数:0

解决方案是使用您设置的环境变量指向安装GMP库的位置。

例如这个bash脚本:

#!/bin/bash
export GMP_PATH=/home/mylibs/gmp

在您的makefile(或脚本)中,您可以使用以下内容:

gcc my_file1.c my_file2.c my_file3.c -I${GMP_PATH}/include

我不知道GMP库的目录结构,但您应该能够获得基于GMP_PATH变量的包含路径,该变量指向GMP目录。

所以有可能有${GMP_PATH}/include${GMP_PATH}/src/include等。

  ask by Jack TC translate from so

未解决问题?本站智能推荐:

2回复

使用带GMP库错误的GCC编译C程序:“找不到架构x86_64的ld:符号”

我正在尝试编译一个使用GMP库中许多函数的C程序(gfp2.c)。 我使用正常的configure,make和install序列下载并安装了GMP库。 我还在安装之前运行了make check并且没有错误。 我使用的是GMP 5.1.1,GCC 4.2.1和MAC OS 10.8.2。
1回复

X86-64 C语言内联汇编(使用GCC编译),导致段错误的多精度乘法例程

我正在尝试mpz_t联X86汇编中实现GMP mpz_t对象的多精度乘法。 根据我对输出变量的约束的选择,我要么遇到分段错误,要么输出变量中的值以不一致的方式被破坏( 即,不同的代码运行导致值被不同地破坏 )。 此代码执行的操作是使用两个GMP mpz_t对象ain和bin ,它们分别保
3回复

是否假定C中的整数是由硬件规范处理还是由软件处理?

是否假定C中的整数是由硬件规范处理还是由软件处理? 通过整数,我指的是原始的“ int” 基本思想是,如果C中的整数不依赖于硬件,则gcc实现不同的整数处理程序将违反标准。 这样,您可以拥有传统的32位int处理程序,然后还可以具有256位整数甚至动态大小的int的处理程序。
6回复

如何使用GMP,MPFR,MPC,ELF逐个安装GCC,无需共享库?

如何使用当前版本逐个安装GCC(GNU编译器集合), 使用正确版本的依赖项,而不是使用包管理器(如yum,rpm,apt,dpkg),而不使用共享库? 典型的开发人员可能希望以典型的方式安装GCC,使用您的包管理器(yum,rpm,apt,dpkg,port,brew等)或按照此处的说
3回复

在Alpine上从源安装GCC

在尝试在Alpine上安装GCC 6.4.0时,我遇到: 但在/usr/lib ,它似乎是标准的查找目录,我有: 可能有什么不对?
1回复

gcc 6.1。 安装,无法建立gmp / mpfr / mpc?

我最近安装了gcc 6.1,专门用于标题(gmp / mpfr / mpc)中提到的库,我遵循gnu网站所说的内容: GNU多精度库(GMP)版本4.3.2(或更高版本)是构建GCC所必需的。 如果在名为gmp的GCC源代码的子目录中找到GMP源代码发布,它将与GCC一起构建。 或
7回复

GCC找不到GMP,MPFR和MPC库

我正在尝试在Mac OS 10.5.7上交叉编译GCC。 安装GMP,MPFR和MPC之后,我使用以下命令配置了GCC: 我收到此错误: 为什么GCC找不到GMP,MPFR和MPC的标头,却找不到库?
1回复

链接外部库GCC OS X.

我已经安装了GCC 4.7.2和GMP 5.1.0,我在main.cpp编写了这个简单的代码,位于~/Desktop : 我编译它: 但我收到此错误消息: 我认为这是因为它没有找到GMP库,我是对的吗? 那么如何在GCC链接GMP等外部库?
1回复

GMP库中的矩阵(在C中)

我正在尝试在gmp中定义一个矩阵,但是却收到错误报告。 这是我的程序的稍微简化的版本: 然后我的其他程序等,但它们的错误功能是说: 所以我的问题是,我该如何在gmp中定义一个矩阵,任何帮助都会很棒!
1回复

同一C库的多个cython使用者

我想使用鼠尾草和外部C库。 外部库已经具有用cython编写的python绑定,并处理python的数字类和gmp整数之间的转换。 为了使它适合Sage,我想绕过这种转换:Sage整数已经在后台使用gmp了。 但是为了使我的代码能够编译(和工作),我在所有地方都使用了显式类型强制转换,