我最近一直在尝试在Fotran中使用库,但我一直收到此错误消息
架构x86_64的未定义符号: " _main",引自: 主要可执行文件的隐式输入/启动 ld:找不到架构x86_64的符号 collect2:错误:ld返回1退出状态
我找不到任何特定的解决方案。在这种情况下,我正在处理我自己构建的一些库(这个问题发生在静态和共享库中)来自我为测试目的而编写的简单模块。
我决定只尝试这些模块,并且我不断获得与我使用的模块相同的错误消息。我想知道是否有人可以帮我告诉我是否使用了错误的语法。这是模块
module modulo1
IMPLICIT NONE
real, parameter:: pi=3.1415
end module modulo1
这是主要的
program teste
use modulo1
IMPLICIT NONE
real :: r = 2
write (*,*) 'Área: ', pi*r**2
end program teste
这些是我用来编译的命令
gfortran -c modulo1.f90
gfortran -c teste.f90
gfortran -o teste.o modulo1.o
答案 0 :(得分:0)
您的编辑已损坏。命令
gfortran -o teste.o modulo1.o
告诉gfortran
从名为teste.o
的目标文件中创建一个名为modulo1.o
的可执行文件。由于该模块文件不包含program
,因此编译器无法找到它正在尝试构建的可执行文件的入口点。 -o
选项的参数是要构建的可执行文件的名称。
您可能应该用
之类的内容替换该语句gfortran -o test teste.o modulo1.o
将构建一个名为test
的可执行文件。
从长远来看,了解如何使用make
或其他构建系统。