2

根据 Photran 文档的理解,如果 Fortran 源代码的扩展名带有大写字母,例如 F90 或 F95,则在构建时会自动预处理此文件。但这对我不起作用...如果我尝试构建一个只有一个文件 main.F90 的项目:

program main
#ifdef __linux__
    print *,"Hello, world!"
#endif
end program

然后 Photran 会说“Nothing to build for project xxx”。我在 Windows 和 Linux 上都尝试过 Photran 8 (Eclipse Juno) 和 GNU 编译器,我也在 Linux 上尝试过 Intel Fortran 编译器,所以它们都失败了。所以我猜这与Eclipse有关。我还可以确认“源表单”设置正确,即 *.F90 设置为“自由格式 - C 预处理”。任何帮助将非常感激。

4

1 回答 1

0

对我来说,Photran 似乎不明白 f90 和 F90 之间的区别。如果没有 Photran 抱怨 main.F90 已经存在,您甚至不能将 main.f90 重命名为 main.F90。

如果您现在查看General -> Content Types |
下的 Workspace Preferences Text -> Fortran Source File
你可以看到只列出了小写的文件扩展名,如果小写对应的文件已经存在,你甚至不能添加一个大写的扩展名。然而,毕竟在构建方面,Photran 区分小写和大写,因此忽略了 F90 文件。

我的第一个猜测是在Fortran General -> Source Files
下的 Project settings 中将 f90-Files 配置为“Free Form - C Preprocessed” , 但这似乎没有效果。

最后,我在Fortran Build -> Settings |
下 的 Project Settings 中的 gfortran 命令中添加了 -cpp 选项。GNU Fortran 编译器 -> 杂项
这告诉 gfortran 每次都运行预处理器。现在你的例子就像一个魅力 - 就像 main.f90。

它似乎是几个错误的组合。

PS:我正在为并行应用程序开发人员运行 Eclipse,Juno Service Release 2 @ Ubuntu 12.04 LTS 和 GNU Fortran Compiler 4.6.3

于 2013-06-27T15:15:28.927 回答