当前位置: 技术问答>linux和unix
求助 未定义的引用
来源: 互联网 发布时间:2017-05-23
本文导语: 我最近想用一个数学库,在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/...
我最近想用一个数学库,在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这个库里有它的定义呀
这种情况有可能是什么原因呢?
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这个库里有它的定义呀
这种情况有可能是什么原因呢?
|
没有加-L吧:
gcc -O3 -O3 -fexceptions -fPIC -DNPARTITION -DNPARTITION -o cholmod_demo -I../Include -I../../SuiteSparse_config cholmod_demo.c -L ../Lib/libcholmod.a -L ../../AMD/Lib/libamd.a -L ../../COLAMD/Lib/libcolamd.a -L ../../SuiteSparse_config/libsuitesparseconfig.a -L ../../CCOLAMD/Lib/libccolamd.a -L ../../CAMD/Lib/libcamd.a -L /cygdrive/C/Users/lenovo/Desktop/SuiteSparse-4.3.0/SuiteSparse/libacml.a -lgfortran -L ../../SuiteSparse_config/xerbla/libcerbla.a -lm -lrt
gcc -O3 -O3 -fexceptions -fPIC -DNPARTITION -DNPARTITION -o cholmod_demo -I../Include -I../../SuiteSparse_config cholmod_demo.c -L ../Lib/libcholmod.a -L ../../AMD/Lib/libamd.a -L ../../COLAMD/Lib/libcolamd.a -L ../../SuiteSparse_config/libsuitesparseconfig.a -L ../../CCOLAMD/Lib/libccolamd.a -L ../../CAMD/Lib/libcamd.a -L /cygdrive/C/Users/lenovo/Desktop/SuiteSparse-4.3.0/SuiteSparse/libacml.a -lgfortran -L ../../SuiteSparse_config/xerbla/libcerbla.a -lm -lrt
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。