- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CLAPACK在vc6.0中成功调用
CLAPACK在vc++6.0中成功调用
Kevin Wong
2010-3-24
序:
CLAPACK是LAPACK的C语言接口。LAPACK的全称是Linear Algebra Package,是非常著名的线性代数库。原版的LAPACK是用Fortran写的,为了方便C/C++程序的使用,就有了LAPACK的C接口CLAPACK。
网上虽然给出了一些关于CLAPACK在windows下的调用讲解, 但用起来总会有这样那样的问题. 对于Visual Studio C++ 6.0环境如何实现对CLAPACK的调用,基本上就没有相关资料了.
本人青睐于vc++6.0的运行速度, 研究了一下再此环境中调用CLAPACK的攻略. 终于功夫不负苦心人, 在此将基本步骤梳理一下,希望对大家有所帮助.
?
一、你需要准备什么?
(1) MS vc++6.0. (有些费话了,呵呵)
(2)下载 clapack-3.2.1-CMAKE.tgz并解压缩.
(3)下载 CMAKE 并安装.
有了(2)和(3)的准备可以提供vc各个版本需要的项目和工程文件了.
?
二、编译库文件
1) 使用CMAKE
???????打开CMAKE-gui
???????将Source目录指向你的CLAPACK-3.2.1-CMAKE文件夹;
???????将Bulid目录指向你准备存放生成文件的文件夹(最好不同于Source文件夹)
???????点击configure, 选择vc++6.0作为你的编译器.(如果你的电脑上没有其他编译器,默认就可以了)
???????你需要再次点击configure直到所有选项都变成白色.
???????点击generate, 将会生成Visual Studio 需要的项目和工程文件, 这就完成了.
???????关闭CMAKE
2)查看build指向的文件夹,打开CLAPACK.dsw.
3)激活ALL_BUILD工程,就可以组建(bulid)出所需要的所有的库文件了.
编译完成后,找到libf2c.lib blas.lib lapack.lib tmglib.lib。这些都是你自己编写程序时需要调用的库。另外,在lapack-3.2.1-CMAKE.tgz解压的文件夹\INCLUDE中的包含了这些库的头文件。
?
三、如何调用库文件。
1)头文件
头文件就是.h文件。存放在\INCLUDE中。在自己的工程里加入这个目录就行了。程序中主要调用的头文件是f2c.h和clapack.h。
2)库文件
库文件就是我们前面编译生成的那些lib文件了。
3)vc工程本身的一些设置:
(这个很重要,很多时候就是因为这里设置不对,才会出问题的)
//开始设置////////////////////////////////////////////////////////////////////////////////////////////////////////
1在设置中选择所有设置。
2在VC++IDE中选择Projects→settings→C/C++。
1)在category中选择Code Gfengeration,在Use run-time library中选择Debug Multithread DLL。(必须的)
2)在category中选择Precompiled Headers,中选择Automatic use of precomplid headers,并且在Through header下面添加stdafx.h。(可省去)
3)在Category中选择Preprocessor,在Preprocessor definitions中添加 MSVC,MSWIND (可以省略)
3在VC++IDE中选择Projects→settings→Link
1)在Categories中选择Input,在Ignore libraries中填入:msvcrt.lib(必须的)
2)在 Object/Library Modules 框中,添加库文件名:libf2c.lib blas.lib lapack.lib tmglib.lib (必须的)
//设置完成////////////////////////////////////////////////////////////////////////////////////////////////////////
?
注意: 因为BLAS库通常比LAPACK库提供的子程序的版本要新,所以BLAS库要列在LAPACK库之前。
注意: 如果想在调试时能对库函数进行源码级调试。那么需要在VS的 工具--选项--项目和解决方案--VC++目录 中添加\SRC的目录。
?
四、vc++6.0调用实例
////
文档评论(0)