2011-09-28 64 views
4

我想使用lapack併爲它製作C++矩陣包裝,但lapack是用Fortran編寫的,有一些clapack但我想從源代碼使用它。首先編譯* .f和* .cpp文件到目標文件,然後將其鏈接到一個應用程序中。如何在windows下使用lapack

下面的應用程序和我擁有的源代碼。

  • 視覺工作室PROFF版,開發的C++,最終++,mingw的任何
  • G95和gfortran(MinGW的下)編譯器
  • LAPACK(最新的源)
  • BLAS(包含在LAPACK)

如何使一個應用程序請幫助...

我的操作系統是Windows 7和CPU Core2Duo,我沒有Int埃爾數學內核

回答

3

鏈接,您可以使用official C bindings for LAPACK,然後建立一個圍繞你的C++包裝。這避免了擔心Fortran調用約定的問題,C語言的綁定對於C/C++程序員來說有點友好,而不是直接調用Fortran例程。

此外,您可以使用已經可用的C++矩陣庫之一,而不是滾動自己的。我建議Eigen

PS .:特徵矩陣/向量有一個data()成員,它允許調用LAPACK而不必創建臨時副本。

+0

您還可以嘗試[Armadillo](http://arma.sourceforge.net),它是LAPACK(和BLAS)的高效C++包裝器。像Eigen一樣,它也使用表達模板來提高速度。然而,Armadillo與Eigen的不同之處在於它的語法(API)與Matlab非常相似。 – mtall