首页 > 其他 > 详细

qt下使用cholmod及编译

时间:2014-03-15 21:16:31      阅读:605      评论:0      收藏:0      [点我收藏+]

折腾了很久终于把这玩意跑通了……

记录一下过程……如果有人也碰到同样的问题(会么……)也好有点参考。目前我查到的都是比较久远的方法了,所以暂且算是个update吧。

由于目前的项目涉及到在windows的qt下跑cholmod,而这个包本身是在Unix环境下写的,对windows非常不友好,于是在使用过程中会遇到很多困难。

那么从头来讲吧:

Step1. 下载SuiteSparse源码。

编译这个源码就说来话长了……网上有一些直接编译好的lib文件……目测……是不能直接跑的。原因可能是因为编译环境系统等等不太一致,所以最后还是决定自己编译一份。

Step2. 安装cygwin

由于源码是在Unix系统下的,windows下编译使用cygwin比较方便。但是一定要注意的是,最新的cygwin是不行的 -> 后面会提到cygwin里面gcc的问题。

cygwin比较方便的安装方法是下载安装程序,但是这种方式一定会安装程最新版本的gcc(version 4 以上),所以我从网上找了一份比较旧的cygwin离线安装程序。

gcc版本3.4.x,可以正常使用 -mno-cygwin 参数,摆脱对cygwin1.dll的依赖,从而移植到windows下的qt上。

Step3. 编译SuiteSparse

SuiteSparse文件夹中找到SuiteSparse_confi.mk文件,修改CF 添加-mno-cygwin,取消DNPARTITION的注释 (用来取消对METIS的依赖)

然后在cygwin下make编译

在这里我发现可能由于我的cygwin安装的不全(离线安装旧版本无法在线安装新软件),.exe的demo编译不出来,但是.a文件都可以生成。

.a文件拿出来扔到qt项目中就可以用了……

 

其他:

中间还有一些问题,比如blas和lapack我并没有在cygwin下装……但是还是编译出来了……(不知道最后会不会有什么问题)目前的demo程序确实能跑就是了。

另外在qt中有一些转换错误,稍微改一下就好了。

还有就是回报缺少.c文件的错误……不明白是为什么。已经编成了.a还缺少源码?反正加进来就能用了……

qt下使用cholmod及编译,布布扣,bubuko.com

qt下使用cholmod及编译

原文:http://www.cnblogs.com/Dawning119/p/3602170.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!