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...