我最近想用一个数学库,在cygwin环境下,用gcc、gfortran编译器
gcc -O3 -O3 -fexceptions -fPIC -DNPARTITION -DNPARTITION -o cholmod_demo -I../Include -I../../SuiteSparse_config cholmod_demo.c ../Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../SuiteSparse_config/libsuitesparseconfig.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a /cygdrive/C/Users/lenovo/Desktop/SuiteSparse-4.3.0/SuiteSparse/libacml.a -lgfortran ../../SuiteSparse_config/xerbla/libcerbla.a -lm -lrt
报错:
../Lib/libcholmod.a(cholmod_super_numeric.o):cholmod_super_numeric.c:(.text+0xe1c):对‘dsyrk_’未定义的引用
../Lib/libcholmod.a(cholmod_super_numeric.o):cholmod_super_numeric.c:(.text+0xf43):对‘dgemm_’未定义的引用
(后面还有很多)
这些应该是在libacml.a这个库里实现的
$ nm ../libacml.a | grep dsyrk_
U dsyrk_
U dsyrk_
U dsyrk_
U dsyrk_
dsyrk_cw.o:
U dsyrk_
00000000 T dsyrk_
这样查看,应该是没问题的呀,libacml.a这个库里有它的定义呀
这种情况有可能是什么原因呢?