|
本帖最后由 楚香饭 于 2023-4-8 17:04 编辑
我也不知道为什么,你需要提供你的 main.f90 文件的内容,其他人才能判断原因。
此外,我建议你一步一个脚印的走。如果打算学习命令行的方式,那么就先用原生命令行。熟练之后,再学习makefile项目管理的方式。
你不妨先用
gfortran -c zgetrf2.f90
gfortran -c main.f90
gfortran main.o zgetrf2.o -o ecsie.x
来试试?这种一步一步的编译,可以让你清晰的明白哪个步骤发生了什么错误。
最后,zgetrf2.f90 应该是不能单独使用的,应该会依赖其他的函数。
我们通常的做法是把 lapack 整体先编译成 lib 文件,然后再整体使用。
(lib可以看作是一堆.o文件的集合。链接器会自动判断用到了哪些 .o 文件,并不会把全部lib链接到ecsie.x中)
像你这样,把lapack中自己所需的 .f 文件挑出来,也不是不行,但得挑很久,因为lapack的内部有复杂的依赖关系。
|
|