我已经下载了 Armadillo 6.5。需要superLU(4.3)库来解决稀疏矩阵方程组。

我已经从here下载了superlu,但是当我想在Windows中制作时,它提供了:

( cd SRC; make )
process_begin: CreateProcess(NULL, ( cd SRC; make ), ...) failed.
make (e=2): The system cannot find the file specified.
Makefile:36: recipe for target 'superlulib' failed
make: *** [superlulib] Error 2

如果我手动cd到SRC目录并在其中执行make,则会创建很多*.o文件,但再次出现此错误:
ar cr /Codes/SuperLU/SuperLU_4.3/lib/libsuperlu_4.3.a \
        sgssv.o sgssvx.o ssp_blas2.o ssp_blas3.o sgscon.o slangs.o sgsequ.o slaqgs.o spivotgrowth.o sgsrfs.o sgstrf.o sgstrs.o scopy_to_ucol.o ssnode_dfs.o ssnode_bmod.o spanel_dfs.o sp
anel_bmod.o sreadhb.o sreadrb.o sreadtriple.o scolumn_dfs.o scolumn_bmod.o spivotL.o spruneL.o smemory.o sutil.o smyblas2.o sgsisx.o sgsitrf.o sldperm.o ilu_sdrop_row.o ilu_ssnode_dfs.o
 ilu_scolumn_dfs.o ilu_spanel_dfs.o ilu_scopy_to_ucol.o ilu_spivotL.o sdiagonal.o superlu_timer.o util.o memory.o get_perm_c.o mmd.o sp_coletree.o sp_preorder.o sp_ienv.o relax_snode.o
heap_relax_snode.o colamd.o ilu_relax_snode.o ilu_heap_relax_snode.o mark_relax.o mc64ad.o qselect.o lsame.o xerbla.o slacon.o  slamch.o
ar: /Codes/SuperLU/SuperLU_4.3/lib/libsuperlu_4.3.a: No such file or directory
Makefile:117: recipe for target 'single' failed
make: *** [single] Error 1

我几乎没有“make”和“superlu”的经验。如何在Windows中制作Superlu?是否有任何可用于Windows的预编译superlu库?

最佳答案

好吧,似乎makefile是为Linux系统编写的。
我可以做三件事:

  • 遵循关于superLU FAQ page的说明:



  • 我做错了。
  • 重写Windows的整个makefile(我也做不到,因为我不知道如何编写makefile)

  • ,最后,有效的解决方案(对我而言):
  • 我在github中找到了一个仓库,该仓库添加了对Windows的superLU构建支持!
    你可以找到它here

  • 它具有一个Visual Studio(2010)解决方案文件,该文件可构建库并提供lib文件。

    07-28 01:32