【问题标题】:How to make sublime text see .mod files in different folders?如何让 sublime text 看到不同文件夹中的 .mod 文件?
【发布时间】:2017-09-08 14:17:18
【问题描述】:

在我的程序中,我使用了多个模块文件。为了保持主文件夹干净,我将它们全部移动到单独的文件夹中,并对我的 shell 脚本进行了必要的更改。一切都已正确完成,因为现在我能够编译和运行该程序。不幸的是,Sublime Text 3 没有看到不在主文件夹中的 .mod 文件。在这样的行:

use mymodule

上面写着:

致命错误:无法在 (1) 处打开模块文件“mymodule.mod”进行读取:没有这样的文件或目录

我该如何解决这个问题?

【问题讨论】:

  • 你的编译器是什么?编辑怎么称呼它?
  • @VladimirF,我在我的问题中添加了有关 Fortran 构建系统的信息。编译器 - gfortran。从“shell_cmd”中指定的编辑器调用。
  • 看起来你需要告诉构建系统哪个文件取决于哪个。但我不知道如何为 Sublime 做到这一点。

标签: fortran sublimetext3 sublimelinter


【解决方案1】:

在 Sublime Text 中转到 Preferences->Package Settings->SublimeLinter->Settings - User。在 "gfortranfixedform""gfortranmodern" 块中添加一个参数:"args": ["-Ipath/to/modfiles"],其中 path/to/modfiles 是一个包含 .mod 文件的目录。

【讨论】:

    【解决方案2】:

    也许您必须将配置中的行更改为:

    "shell_cmd": "gfortran '${file}' -Ipath/to/module -o '${file_path}/${file_base_name}'"
    

    其中 path/to/module 是您的 .mod 文件所在的目录。 (只是一个建议,对 Sublime 编辑器一无所知。)

    【讨论】:

    • 您的想法进行了一些更改,可以很好地构建单个模块文件,但不幸的是,它并不能解决我的问题。根据您的建议,我可以构建包含我的模块的 .f90 文件,并在正确的单独文件夹中获取所需的生成 .mod 文件。因此,Sublime 在构建时可以完美地看到一切。但由于某种原因,它只在当前文件夹中查找依赖项,但由于某种原因,它没有在那里找到它们,而且它给了我一个恼人的错误说:“没有这样的文件”。问题是如何让 Sublime 在其他文件夹中查找依赖项。
    • 此错误不会影响程序的运行,但它不会让 Sublime 向我显示任何其他错误或警告,因为该错误始终是第一个错误。
    • 也许你也添加-I.(点=当前目录)
    • 现在我相信问题根本不在于构建系统,而在于将路径/环境变量添加到某些 Sublime 项目配置文件中。不幸的是,我要到下周才能试用这个版本。然后我将更新问题。感谢您的帮助!
    猜你喜欢
    • 2014-03-23
    • 2013-09-18
    • 2018-02-11
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多