编译Carla Python API时因路径空格导致Make命令执行失败
Windows下解决Carla Python API编译时cl.exe路径空格截断问题
可行解决方案:
1. 利用Windows短路径(8.3格式)替换
Windows会为带空格的目录自动生成短路径,比如C:\Program Files (x86)的短路径通常是C:\PROGRA~2(C:\Program Files对应C:\PROGRA~1)。操作步骤:
- 打开命令提示符,执行
dir /x C:\查看具体短路径名称; - 在VS2019开发者命令提示符中先设置环境变量:
set "VCINSTALLDIR=C:\PROGRA~2\Microsoft Visual Studio\2019\Community\VC" - 再执行
make PythonAPI。
2. 修改Carla编译脚本中的路径引用
找到Carla项目中调用cl.exe的Makefile或相关脚本片段,将包含空格的路径用双引号包裹。例如:
将原来的
CL = C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
修改为
CL = "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
确保命令执行时不会因空格截断路径。
3. 创建无空格的符号链接
以管理员身份打开命令提示符,执行以下命令创建指向VC目录的符号链接:
mklink /d "C:\VS2019VC" "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"
之后将系统环境变量中VC相关路径替换为C:\VS2019VC,或修改Carla编译脚本中的路径指向该链接目录,再运行make PythonAPI。
4. 配置开发者命令提示符启动参数
右键VS2019开发者命令提示符快捷方式,编辑“目标”字段,在原有命令末尾添加自动设置短路径的参数:
/k "set "VCINSTALLDIR=C:\PROGRA~2\Microsoft Visual Studio\2019\Community\VC""
这样每次打开提示符都会自动配置正确的无空格环境变量,无需手动设置。
内容的提问来源于stack exchange,提问作者hokge
相关产品推荐
相关产品推荐

