Sublime Text 3不接受MinGW的fortran

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sublime Text 3不接受MinGW的fortran相关的知识,希望对你有一定的参考价值。

我试图从MinGW设置fortran(G95)在Sublime Text 3中工作。我看了How do you configure MinGW with Sublime Text 3?Could someone help me configure MinGW in SublimeText 3? (Newbie)我发现了这个:

{
"cmd": ["gcc", "${file}", "-o", "${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"shell": true,

"variants":
[
    {
        "name": "Run",
        "cmd": ["start", "cmd", "/k", "${file_path}/${file_base_name}.exe"],
        "shell": true
    }
]
}

所以我创建了文件包/ user / fortran(G95).sublime-build。在那里,我不知道在$ {file_path}或$ {file_base_name}变量中写什么,所以我尝试了这个:

{
    "cmd": ["gcc", "C:/MinGW/bin", "-o", "g95.exe"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "C:/MinGW/bin",
    "selector": "source.c, source.c++",
    "shell": true,

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["start", "cmd", "/k", "C:/MinGW/bin/g95.exe"],
            "shell": true
        }
    ]
}

但它返回:

c:/ mingw / bin /../ lib / gcc / mingw32 / 6.3.0 /../../../../ mingw32 / bin / ld.exe:找不到C:/ MinGW / bin:权限否认collect2.exe:错误:ld返回1退出状态[完成0.3s]。

我是在做正确的还是在创建文件期间弄乱了什么?

非常感谢您提供任何建议和帮助来完成这项工作。

PS:我已经在PATH C中:/ MinGW / bin和C:/ MinGW / mingw32 / bin。我使用Windows 10 64位。

编辑:现在我确实将文件更改回此:

{
"cmd": ["gcc", "${file}", "-o", "${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"shell": true,

"variants":
[
    {
        "name": "Run",
        "cmd": ["start", "cmd", "/k", "${file_path}/${file_base_name}.exe"],
        "shell": true
    }
]
}

但它说它在我的Hello world程序中不知道写函数和更多。

C: Users TPN~1 AppData Local Temp ccV3Loja.o:helloworld.f90:(.text + 0x3b):未定义引用_gfortran_st_write' C:UsersTPN~1AppDataLocalTempccV3Loja.o:helloworld.f90:(.text+0x59): undefined reference to_gfortran_transfer_character_write'C: Users TPN~1 AppData Local Temp ccV3Loja.o:helloworld.f90 :(。text + 0x67):未定义引用_gfortran_st_write_done' C:UsersTPN~1AppDataLocalTempccV3Loja.o:helloworld.f90:(.text+0x8a): undefined reference to_gfortran_set_args'C: Users TPN~1 AppData Local Temp ccV3Loja.o:helloworld.f90:(.text + 0x9e):未定义引用`_gfortran_set_options'collect2.exe:错误:ld返回1退出状态[在1.0s完成]

答案

你不应该改变${file}${file_base_name}${working_dir}。这些变量由ST解析以执行正确的cmd,请参阅official help和更完整的unoffical help

正如你已经将C:/MinGW/binC:/MinGW/mingw32/bin添加到你的PATH,只需恢复到原始文件packages/user/fortran(G95).sublime-build,通过以下更改来处理fortran文件,然后重新启动Sublime-text,你应该好好去。

{
"cmd": ["gfortran", "${file}", "-o", "${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.f, source.f90, source.f95",
"shell": true,
"variants":
[
    {
        "name": "Run",
        "cmd": ["start", "cmd", "/k", "${file_path}/${file_base_name}.exe"],
        "shell": true
    }
]
}

以上是关于Sublime Text 3不接受MinGW的fortran的主要内容,如果未能解决你的问题,请参考以下文章

sublime text怎么加入mingw编译器

sublime text 2 基于 MinGW 的 C/C++ 配置文件

win7系统sublime text 搭建C语言环境

sublime text 2编译运行C语言

sublime text 3怎么建立c语言

如何在os x下让sublime text编译c程序