Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linker 在MacOSX上,我得到了;主可执行文件“的隐式条目/启动”使用:gfortran-o链接器_Linker_Fortran_Gfortran - Fatal编程技术网

Linker 在MacOSX上,我得到了;主可执行文件“的隐式条目/启动”使用:gfortran-o链接器

Linker 在MacOSX上,我得到了;主可执行文件“的隐式条目/启动”使用:gfortran-o链接器,linker,fortran,gfortran,Linker,Fortran,Gfortran,我的代码是用Fortran 77编写的,我正在使用brew于2020年2月中旬安装的最新gfortran软件包。代码相当广泛。看起来编译器对代码没有问题: gfortran -c main.for gfortran - Sub1.for 等等,;所有这些都工作了,并创建了目标文件main.o、Sub1.o等。 但是,一经链接, gfortran -o main.o Sub1.o Sub2.o ---- MyLib.a (需要自动命名的可执行文件)我收到了错误/退出消息: Undefined

我的代码是用Fortran 77编写的,我正在使用brew于2020年2月中旬安装的最新gfortran软件包。代码相当广泛。看起来编译器对代码没有问题:

gfortran -c main.for
gfortran - Sub1.for
等等,;所有这些都工作了,并创建了目标文件main.o、Sub1.o等。 但是,一经链接,

gfortran -o main.o Sub1.o Sub2.o ---- MyLib.a
(需要自动命名的可执行文件)我收到了错误/退出消息:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
我最大的罪过是什么

此略图命令:

gfortran -o main.o Sub1.o Sub2.o ---- MyLib.a
请求
gfortran
将对象文件
Sub1.o
Sub2.o
与库
…MyLib.a
并输出一个名为
main.o
的可执行文件

main.o
是(大概)先前编译的包含 程序的入口点,但您已将其关闭以输出程序 那里因此,连杆机构出现故障。相反,请使用:

gfortran -o prog main.o Sub1.o Sub2.o ---- MyLib.a
如果要链接名为
prog
的程序。或者就像你说的那样:

应为自动命名的可执行文件

然后改用:

gfortran main.o Sub1.o Sub2.o ---- MyLib.a

和自动命名的可执行文件be
a.out

欢迎您,请拿起并阅读。您真的需要向我们展示您的代码或其他一些复制问题的短代码。这是非常必要的。另见。此外,您必须显示完整的命令集,并且不显示“etc.”。编译器能正确编译简单的程序吗?@MikeKinghan看起来可能是这样,我会毫不犹豫地给出答案。亲爱的Mike,谢谢。不,我首先尝试了“gfortran-o Prog main.o sub1.o”等,得到了所有错误。没有可执行文件。看起来链接器没有访问内置库的权限。嗨。如果
gfortran
找不到所需库,它在出现任何未定义的符号错误之前已经说过了。我会说需要,包括build命令以及他们的逐字输出。@MabarOne该评论中的问题与问题不再相似,但我的回答对发布的问题有效。看起来你问的问题是关于试图解决问题的失败尝试,而不是问题本身。你的问题表达了你真正想解决的具体问题,以a的形式,然后我将删除不相关的答案,有人可能会编写另一个答案。亲爱的Mike,是的。我用“Main”替换了一个块数据语句,并可能遇到另一个问题,其中可能缺少x86_64库。我将编辑并还原。