关于TAUCS库的编译

Edit on Github

http://www.tau.ac.il/%7Estoledo/taucs/

主要说下命令行下编译环境建立,只要在VC或VS2003/2005的安装目录下找vcvars32.bat ,如我的VS2005在D:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat,运行它即可。然后开始编译TAUCS库,在MS-DOS下,到taucs库存放configure.bat的目录,运行它,生成配置文件(makefile),再输入nmake命令就开始编译了。可以用“nmake nmake.txt ”把编译过程提示信息保存到nmake.txt文件。不过最终我还是没编译成功,就生成了个libtaucs.lib库文件,其它的都没成功生成,所以只好用Intel MKL了。

2010-06-25 补充

可能有用的方案

著名的CGAL(Computational Geometry Algorithms Libaray) 库的 Installation Manual 中提到 Taucs 项目对 vs 的支持不好,所以他们提供了一个预编译好的,有兴趣的可以去看看。 传送门

如果还不行,也可以试试用 mingw 来编译,编译好后也可以在 vs 中使用,ffmepg 的 Win32 二进制版本好像就这么得到的。

另一个数学库 Eigen

再推荐一个开源数学库 Eigen ,代码写得可以像 Matlab 一样精简,一点不夸张。我就用它和 Matlab 分别实现同一篇论文的算法,代码在数量和风格上几乎没变化(Matlab 代码都是尽可能用内置函数的噢~)。而且,该库在 Dense Matrix 的计算上与 mkl 可以相比,目前 Sparse Matrix 也支持,不过算法还在开发中。这是一个模版库,也就是说全部源代码都是头文件,不要编译。惊叹于开发人员的设计,大量使用 general programming 和 meta programming 技术,很难看懂。这些设计主要是为了提供易用 API 的同时,不牺牲效率,主要是对运算符的支持。小白本人以前就曾尝试过解决这个问题,无果。后来,查阅了 OpenCV2.0 的相关设计,了解到一些方案,不过当时没大关注。这次遇到这么大规模地应用,打算有空研究下!