如何解决命令提示符中含空格路径的flex/bison文件执行报错
解决Flex/Bison路径含空格的执行错误
使用Windows短路径(8.3格式)
系统对带空格的目录会生成短路径名,比如Program Files对应PROGRA~1,Program Files (x86)对应PROGRA~2。先在CMD里执行dir /x "C:\"查看目标目录的短路径,然后将环境变量中Flex/Bison的路径替换为短路径(比如把C:\Program Files\GnuWin32\bin改成C:\PROGRA~1\GnuWin32\bin),之后重启CMD即可生效。创建无空格的目录符号链接
以管理员身份打开CMD,执行以下命令创建符号链接(替换为你的实际路径):mklink /d C:\GnuWin32 "C:\Program Files\GnuWin32"然后将
C:\GnuWin32\bin添加到系统环境变量的Path中,后续调用flex/bison时就会使用这个无空格的路径。编写批处理脚本封装调用
新建一个flex.bat文件,内容如下(替换为你的flex实际路径):@echo off "C:\Program Files\GnuWin32\bin\flex.exe" %*同理创建
bison.bat:@echo off "C:\Program Files\GnuWin32\bin\bison.exe" %*将这两个批处理文件放到一个已在环境变量
Path中的目录(比如C:\Windows\System32),之后直接在CMD里输入flex或bison即可正常调用。
内容的提问来源于stack exchange,提问作者user18025483
相关产品推荐
相关产品推荐

