问题描述
我正在使用以下选项:
touch foo.f90; gfortran -cpp -E -dM foo.f90
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status
当我使用“触摸”时,文件是空的。
解决方法
the manual 中描述了 -E
标志。
如果使用 -E 选项,除了预处理之外什么都不做。一些 这些选项中的只有与 -E 一起使用才有意义,因为它们会导致 预处理器输出不适合实际编译。
它使编译器打印预处理过的源代码而不是编译它。这意味着由 C 预处理器 cpp
预处理。
如果您的源代码不是有效的 Fortran 程序,那么尝试实际编译它(没有 -E
标志)自然会导致某种错误消息。