数学研发论坛

 找回密码
 欢迎注册
查看: 10772|回复: 27

[求助] windows下编译GMP c++库的问题

[复制链接]
发表于 2009-4-23 09:25:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
我利用网上找到的一个GMP的VC辅助工程文件编译得到了GMP c语言静态库,没有c++库GMPXX

后面我按照http://suchideas.com/journal/2007/7/installing-gmp-on-windows
的方法,使用MINGW +DEVCPP进行编译,configure那步没有出现错误,使用make的时候得到如下错误
aorsmul.c:44: error: conflicting types for '__gmpz_aorsmul'
aorsmul.c:39: error: previous declaration of '__gmpz_aorsmul' was here
aorsmul.c:44: error: conflicting types for '__gmpz_aorsmul'
aorsmul.c:39: error: previous declaration of '__gmpz_aorsmul' was here
'-mcpu=' is deprecated. Use '-mtune=' or '-march=' instead.
e:\dev-cpp\bin\make.exe[2]: *** [aorsmul.lo] Error 1
e:\dev-cpp\bin\make.exe[2]: Leaving directory ‘f:/gmp/mpz'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 'f:/gmp'
e:\dev-cpp\bin\make.exe: *** [all
GOOGLE查了一下,好像说是gmp内部的问题?还是make的问题?想请教一下大家如何解决?有没有谁在WINDOWS下编译出了GMP c++库?
恳请指点
`x/y`

[ 本帖最后由 winxos 于 2009-4-23 09:29 编辑 ]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-4-23 09:31:41 | 显示全部楼层
我刚发现波浪号下面那个小撇 可以直接包括起 数学公式 `sumx^i`
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-23 10:48:15 | 显示全部楼层
C库就够好用了啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-4-23 13:45:26 | 显示全部楼层
原帖由 无心人 于 2009-4-23 10:48 发表
C库就够好用了啊

c++运算符的重载使用起来方便点,
想输入起来偷点懒
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-23 14:43:43 | 显示全部楼层
那你就下载MINGW自己编译

不要用DevCPP

用MinGW的命令行环境编译
就是带unix工具包
模拟unix shell的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-4-23 19:21:25 | 显示全部楼层
原帖由 无心人 于 2009-4-23 14:43 发表
那你就下载MINGW自己编译

不要用DevCPP

用MinGW的命令行环境编译
就是带unix工具包
模拟unix shell的

我是下载的mingw手动编译的,configure没出问题,不知道为什么在make的时候出了上面的错误,
我对那些编译的参数之类的不懂
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-25 14:34:39 | 显示全部楼层
好像能指定编译成C++的

我不太清楚
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-4-25 22:53:41 | 显示全部楼层
原帖由 无心人 于 2009-4-25 14:34 发表
好像能指定编译成C++的

我不太清楚

估计是比较麻烦的事情,算了,还是用C的吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-5-25 13:48:34 | 显示全部楼层
在.net下编了个静态连接的debug版,试了一下,可用,你试试

  1. #include "stdafx.h"
  2. #include <gmp.h>
  3. #include <gmpxx.h>
  4. #include <iostream>

  5. typedef  mpz_class INT;
  6. using namespace std;

  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9.         INT a, b, c;
  10.         a = 1234;
  11.         b = "-5678";
  12.         c = a+b;
  13.         cout<<c <<endl;
  14.         system("pause");
  15.         return 0;
  16. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-5-25 13:50:54 | 显示全部楼层
不好意思没加上,超过500了

gmpxx.rar

118.98 KB, 下载次数: 32, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

gmp.rar

267.91 KB, 下载次数: 36, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-7-16 22:12 , Processed in 0.057607 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表