gmp编译lib
① linux下HElib库安装记录
即可安装好。安装好后,进入/usr/local/lib文件夹中查看,显示有相关的库,如下所示,有libgmp.a,libntl.a文件,即可认为安装成功。
-j16是指定线程数,是一个可选选项。
之后cd进入/usr/local/lib文件夹,显示有libhelib.a文件,cd进入/usr/local/include文件夹,显示有helib库,即可认为安装成功。如下所示:
编译生成可执行文件app1。其中:-lhelib -lntl -lgmp -lm即告诉编译器需要将helib,ntl,gmp,m四个库一起加入编译(helib要放在前面,否则会报错)。
正常运行,测试结束。
② 如何在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
③ Fedora14 安装gmp时出错 configure: error: could not find a working compiler
似乎gcc并未安装,错误提示并未找到一个可工作的编译器
安装gcc
④ #include <gmp.h>
This file is part of the GNU C Library.
gmp.h是GMP高精度数学库head file
#include"C:\\gmp-4.2.1-P4\\include\\gmp.h"
#pragma comment(lib, "C:\\gmp-4.2.1-P4\\lib\\Win32\\Release\\gmp.lib")
#include <stdio.h>
加这一句“#pragma comment(lib, "gmp.lib") ”,包括完整路径名
⑤ gmp如何编译安装Php已经装好了,想增加这个模块。
cd gmpphpize./configuremake && make install
⑥ 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然后选择全部重新编译我就是这样解决了这个问题
⑦ 求大神解释一下几句linux安装软件的命令是啥意思! 命令在问题补充哪里!
./configure --with-gmp-lib=/usr/local/lib --with-gmp-include=/usr/local/include 配置参数,生成makefile文件
make -j2表示用2个进程同时编译
make install 就是安装,将编译好的相关文件按照makefile文件的指示复制到对应的目录
⑧ 求一个gmp6.0.0在windows下编译好的lib静态库文件和头文件
在WINDOWS 8.1系统中用MINGW+MSYS生成。
⑨ 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...