背景:
我正在写在C和Fortran 77的混合项目,现在需要的LAPACK / BLAS库链接到项目(所有在Linux环境中)。 有问题的LAPACK是netlib.org 3.2.1版本(包括BLAS)。 该库采用顶级的Makefile(请lapacklib并blaslib)编制。
问题:
在连接过程中的错误消息声称,某些(不是全部)BLAS例程从LAPACK例程称为是不确定的。 这给了我一些头痛,但是当(在Makefile)被链接库的出现顺序被改变最终解决了这个问题。
码:
在下文中,(a)是错误的,而(b)不。 所述连接是通过(c)中进行的。
(一)LIBS = $(LAPACK)/blas_LINUX.a $(LAPACK)/lapack_LINUX.a
(B)LIBS = $(LAPACK)/lapack_LINUX.a $(LAPACK)/blas_LINUX.a
(C)的gcc -Wall -O -o $ @ project.o project.a $(LIBS)
题:
可能是什么只有一些例程的未定义引用的理由是什么使相关的出场顺序?