我正在尝试从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
}
]
}
所以我创建了文件packages / 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.3秒完成]。
我做得对吗,还是搞砸了创建文件的事情。
非常感谢您提供任何建议和帮助以使其发挥作用。
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:\用户\ TPN〜1 \应用程序数据\本地\ TEMP \ ccV3Loja.o:helloworld.f90 :(文本+ 0x3b): 未明确引用
_gfortran_st_write' C:\Users\TPN~1\AppData\Local\Temp\ccV3Loja.o:helloworld.f90:(.text+0x59): undefined reference to
_ gfortran_transfer_character_write' C:\ Users \用户TPN〜1 \应用程序数据\本地\ TEMP \ ccV3Loja.o:helloworld.f90 :(文本+ 0x67)中: 对_gfortran_st_write_done' C:\Users\TPN~1\AppData\Local\Temp\ccV3Loja.o:helloworld.f90:(.text+0x8a): undefined reference to
_ gfortran_set_args'的未定义引用 C:\ Users \用户TPN〜1 \应用程序数据\本地\ TEMP \ ccV3Loja.o:helloworld.f90 :(文本+ 0x9e): 未明确引用`_gfortran_set_options' collect2.exe:错误:ld 返回1退出状态[在1.0s完成]
答案 0 :(得分:2)
您不应该更改${file}
,${file_base_name}
或${working_dir}
。这些变量由ST解析以执行正确的cmd,请参阅official help和更完整的unoffical help。
由于您已将C:/MinGW/bin
和C:/MinGW/mingw32/bin
添加到PATH
,只需恢复原始文件packages/user/fortran(G95).sublime-build
,并进行以下更改以处理fortran文件,然后重新启动Sublime-文字,你应该很高兴。
{
"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
}
]
}