Emacs gfortran 编译异常退出,代码为 1
Emacs gfortran compilation exits abnormally with code 1
我正在尝试使用 gfortran 编译一个简单的 Fortran hello world 脚本。它在 Windows 控制台中编译得很好,但在 Emacs 中却不行。这与它的环境有关吗?我没有使用任何库。如果能帮助理解原因,我们将不胜感激。
简单"Hello World":
Program Hello
Print *, "Hello World!"
End Program Hello
这里是编译命令,使用M-x编译:
C:\MinGW\bin\gfortran.exe C:\emacs\fortran\hello.f -o C:\emacs\fortran\hello.exe
Emacs 报告此错误:
Compilation exited abnormally with code 1 at Fri May 10 18:10:15
谢谢,
为了简化您的编译命令,您可以将 gfortran
的路径添加到您的 exec-path
中,这样应该可以找到编译器(使用 (executable-find "gfortran")
、[=17= 进行测试]
(cl-pushnew "path/to/mingw/bin" exec-path :test #'equal)
您还可以在 fortran-mode-hook
中设置默认值 compile-command
,例如。要使用一些默认标志编译当前文件(修改 windows),您可以使用类似
的东西
(add-hook 'fortran-mode-hook #'my-fortran-hook)
(defun my-fortran-hook ()
(setq-local
compile-command
(format "gfortran -Wall -Wextra -fbounds-check -g -std=f95 -Ofast -o %s %s"
(file-name-sans-extension (file-name-nondirectory (buffer-file-name)))
(buffer-file-name))))
我正在尝试使用 gfortran 编译一个简单的 Fortran hello world 脚本。它在 Windows 控制台中编译得很好,但在 Emacs 中却不行。这与它的环境有关吗?我没有使用任何库。如果能帮助理解原因,我们将不胜感激。
简单"Hello World":
Program Hello
Print *, "Hello World!"
End Program Hello
这里是编译命令,使用M-x编译:
C:\MinGW\bin\gfortran.exe C:\emacs\fortran\hello.f -o C:\emacs\fortran\hello.exe
Emacs 报告此错误:
Compilation exited abnormally with code 1 at Fri May 10 18:10:15
谢谢,
为了简化您的编译命令,您可以将 gfortran
的路径添加到您的 exec-path
中,这样应该可以找到编译器(使用 (executable-find "gfortran")
、[=17= 进行测试]
(cl-pushnew "path/to/mingw/bin" exec-path :test #'equal)
您还可以在 fortran-mode-hook
中设置默认值 compile-command
,例如。要使用一些默认标志编译当前文件(修改 windows),您可以使用类似
(add-hook 'fortran-mode-hook #'my-fortran-hook)
(defun my-fortran-hook ()
(setq-local
compile-command
(format "gfortran -Wall -Wextra -fbounds-check -g -std=f95 -Ofast -o %s %s"
(file-name-sans-extension (file-name-nondirectory (buffer-file-name)))
(buffer-file-name))))