牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

在VS.net下安装使用blitz++科学计算库

     我做图像处理经常要用到矩阵运算,最常用到的工具就是matlab。不过matlab也就只能用在实验,真正做程序的时候,好多东西都要自己写,很麻烦。在网上搜了一下科学计算库,找到了三个,gsl、blitz++和MTL,没时间仔细研究哪个效率更高了,听了Oscargreat的推荐,开始用blitz++。

      blitz++的代码下载下来发现,只是适合linux下编译,幸好在网上搜到了几篇不错的文档,在其指导下顺利的编译了blitz.lib。

      按照文档所述,编译blitz.lib和运行测试程序,都不会有问题。不过,我在尝试把blitz库用到自己的程序时,有了一些问题.

     建了一个MFC应用程序,代码如下:

#include stdafx.h"
#include "config.h"
#include <blitz/array.h>
using namespace blitz;

...

      这样会报错。和Oscargreat分析了一会,发现是MFC和blitz冲突了,MFC居然把min和max用宏定义了(windef.h),这样和blitz里的min和max冲突,暂时的解决办法是用#undef在前面屏蔽掉min和max,以后再找其他的办法吧。

      还有就是blitz由于是C++ template库,所以,有很多情况下的应用是不需要链接blitz.lib的,但是最好还是链接上,因为blitz源文件里还是有一些cpp的。

posted on 2006-07-01 13:28 杨粼波 阅读(1630) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理