GCC的 gfortran编译器无法识别文件名中的空格

编程语言 2026-07-09

有没有办法强制gcc-16.1.0-64中包含的Fortran编译器在Windows的 cmd.exe命令行执行时识别文件名中的空格?

像xpack-mingw-w64-gcc-12.2.0-1-win32-x64这样的其它版本,在把空格替换成星号后确实会识别它们。相反,gcc-16.1.0-64给出如下错误信息:

f951.exe:致命错误。无法打开文件

解决方案

我现在先假设你使用的是类似Linux和 bash的环境。这在Windows和 macOS上也在一定程度上适用。

Shell将命令拆分成若干参数,并将它们作为参数传递给程序,作为 main(int argcv, char * argv[] 的参数。每个由空格分隔的参数都会进入 argv[] 的一个独立条目。你可以用两种方法让Shell不再用空格来分割参数。

第一种,在它前面加上一个 \——Shell将忽略那个空格并移除 \ 字符。第二种,在包含空格的路径周围加上 "" 标记。

如果我猜错了,实际问题其实是别的,请告诉我。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章