导航:首页 > 源码编译 > gmp编译不了

gmp编译不了

发布时间:2022-08-11 15:00:51

1. Fedora14 安装gmp时出错 configure: error: could not find a working compiler

似乎gcc并未安装,错误提示并未找到一个可工作的编译
安装gcc

2. windows下如何用cygwin 编译gmp

cygwin可以编译生成windows下供调用的dll,包括vc可识别的lib。

Cygwin-GCC : Cygwin自带了一个GCC,用于把C/C++-Source编译成Cygwin平台下的EXE/DLL (使用Cygwin必须用其自带的GCC, 因为内部会生成一些针对于平台的特定的初始化代码,如果用其余版本的GCC则很有可能导致程序不能正常运行.)

Cygwin-GCC : Cygwin自带了一个GCC,用于把C/C++-Source编译成Cygwin平台下的EXE/DLL (使用Cygwin必须用其自带的GCC, 因为内部会生成一些针对于平台的特定的初始化代码,如果用其余版本的GCC则很有可能导致程序不能正常运行.)

说明 - Cygwin-GCC :

在Cygwin-Shell中可直接使用gcc .如下 :

gcc -shared xxx.c -o xxx.dll //编译成DLL, 注意,Cygwin-GCC默认导出所有的Function.

gcc -c xxx.c -o xxx.o //编译成OBJ

gcc xxx.c -o xxx.exe //编译成EXE

ar r xxx.lib xxx1.o xxx2.o //打包多个obj成一个Lib (非连接)

gcc xxx.c ./L aaa.dll -o xxx.exe //引用外部DLL生成EXE

gcc xxx.c yyy.c -o zzz.exe //连接多个C文件,生成EXE.

gcc -I"/bin/include"-c xxx.c -o xxx.o //引用/bin/include目录下头文件,生成OBJ

gcc -L"dll.a" xxx.c -o xxx.exe //连接dll.a,生成EXE

如果想知道编译时具体的信息,可以使用--verbose这个编译选项,对于了解GCC的工作是很有帮助的.

额外的,也可以写自己的导出Lib文件,以方便其余程序引用DLL (如Cobol2002编译器就不支持直接引用DLL, 这个时候可以写一个Def,并导出Lib文件,便于Cobol2002使用)

具体方法如下:

1. 编译生成DLL :

如: gcc -shared MyTest.c -o MyTest.dll, 生成MyTest.dll.

2. 写一个DEF文件 (这里是MyTest.def),简单的格式大致如下:

LIBRARY MyTest //这里的MyTest对应于MyTest.dll
EXPORTS
AllocMemory @1 //导出的第一个function : 对应于MyTest.dll里面的AllocMemory(...), 注意,参数可不用写
ReadMemory @2 //导出的第二个function : 对应于MyTest.dll里面的ReadMemory-Function.

//注意:function可以不用全部导出,可以只选择你需要的Function.

3. 用LIB工具(VC6有提供)生成LIB文件 (这里是MyTest.lib) :

lib /def:MyTest.def //默认生成的名称为MyTest.lib.

4. 到此生成完毕,连接的时候只需要引用MyTest.lib即可,但要注意XXX.exe 和MyTest.dll要放在同一目录下.

可以用 gcc --help 查看具体的命令 etc...

3. linux 小白 安装gmp错误

根据你的提示,是因为没有安装gcc编译器。建议在你的电脑上先安装gcc编译器。

4. gmp如何编译安装php已经装好了,想增加这个模块。

cd gmpphpize./configuremake && make install

5. 如何在windows下编译GMP软件包

1、下载GMP源代码,展开到d:/gmp
http://gmplib.org/#DOWNLOAD
2、下载MinGW windows下的GNU C编译器
http://sourceforge.net/project/showfiles.php?group_id=2435
中的AutoMated MinGW Installer下载完后执行,选择下载并安装
安装选项选择第一,二和最后共三个组件,安装在d:/minGW
3、 http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe?modtime=1079444447&big_mirror=1
下载MSYS MinGW的辅助环境
安装到d:/msys,安装时有两个提示,第一个提示输入Y, 第二个提示输入MinGW安装路径d:/MinGW

完成后桌面出现msys快捷方式

4、进入d:/msys/1.0/etc编辑fstab文件
加入行
d:/gmp /gmp

5、点击msys进入环境
cd /gmp进入gmp虚拟路径
依次执行(每个都会执行很长时间)
./configure
make
make install
则编译出静态包
如果执行
./configure --disable-static --enable-shared
make
make install
则编译出dll

6. linux初始建立初始编译器时,怎么不论装新版本还是老版本,都报错..

你用包管理工具吧,会处理依赖
要不你就得先装了gmp mpfr mpc,注意版本要求
然后./configure的时候加上--with-gmp,--with-mpfr and/or --with-mpc参数

7. 安装gmp后怎样编译cpp文件

gmp安装及使用摘要

GNU Multiple Precision Arithmetic Library

首先,去libgmp官网下载最新的gmp包。(我下的是gmp-5.1.0)

然后gmp-5.1.0.tar.bz2。使用命令

tar -jvxf gmp-5.1.0.tar.bz2

进入gmp-5.1.0文件夹

cd gmp-5.1.0

接下来比较关键,在使用configure的时候要加上 --enable-cxx命令,否则不能使用c++库gmpxx.h(今年寒假的时候没加这个命令也可以,但现在貌似不行了- -)

./configure --enable-cxx

然后

make

make check

最后

sudo make install

就安装完成了。

可以试着编写一个样例程序:

#include<gmpxx.h>
using namespace std;
int main()
{
mpz_t a, b, c, d;
mpz_init(a);
mpz_init(b);
mpz_init(c);
mpz_init(d);
//计算2的1000次方
mpz_init_set_ui(a, 2);
mpz_pow_ui(c, a, 1000);
gmp_printf("c = %Zd\n", c);

//计算12345678900987654321*98765432100123456789
mpz_init_set_str(b, "12345678900987654321", 10);//10进制
mpz_init_set_str(c, "98765432100123456789", 10);
mpz_mul(d, b, c);
gmp_printf("d = %Zd\n", d);
mpz_clear(a);
mpz_clear(b);
mpz_clear(c);
mpz_clear(d);
return 0;
}

以上程序貌似是C的,编译时使用:

gcc name.c -o name.o -lgmp

对于C++,编码会方便一些:

#include<iostream>
#include<gmpxx.h>
using namespace std;
int main()
{
mpz_class a;
//计算2的1000次方,似乎C++就没有数学函数支持了?
a = 1;
for(int i = 0; i < 1000; i++)
a *= 2;
cout<<"2^1000 = "<<a<<endl;
//计算-12345*9876543210123456789
mpz_class b, c;
b = -12345;
c = "98765432100123456789";
cout<<"b * c = "<<b * c<<endl;
return 0;
}

编译用:

g++ name.cpp -o name.o -lgmpxx -lgmp

8. arm-linux-gcc编译openssl、pbc、gmp库问题

你用的是什么环境?要么就是缺少库,要么就是缺少资源依懒,都是这些问题!

9. vs2017使用gmp类库时输入输出符号无法解析外部符号

我在vs2008环境下面遇到了这个问题总算自己解决了如果选择的是win32而非x64配置,对应的库目录一定要设置到x86而非x64在win32配置下使用x64 directx 库就会出现这种情况解决方法:假设directx目录为 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\则对于win32配置项目->属性->C/C++->常规->附加包含目录 添加 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include项目->属性->链接器->常规->附加库目录 添加 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86然后选择全部重新编译我就是这样解决了这个问题

阅读全文

与gmp编译不了相关的资料

热点内容
如何理解php面向对象 浏览:96
macword转pdf 浏览:848
python列表求交集 浏览:873
解压包如何转音频 浏览:447
机明自动编程软件源码 浏览:325
php端口号设置 浏览:541
phperegreplace 浏览:320
androidgridview翻页 浏览:537
ssh协议编程 浏览:635
如何开我的世界电脑服务器地址 浏览:861
玄关pdf 浏览:609
程序员学习论坛 浏览:940
程序员的毒鸡汤怎么做 浏览:548
安卓怎么降级软件到手机 浏览:281
云与服务器入门书籍推荐产品 浏览:636
delphi编程助手 浏览:763
电脑遇到服务器问题怎么办 浏览:515
加工中心编程结束方法 浏览:296
了解什么是web服务器 浏览:140
面向对象的编程的基本特征 浏览:718