如何解决clearmake处理含空格文件名时的“Unrecognized character”错误?
解决clearmake处理含空格路径的报错问题
问题背景
用cmake 2.8.12生成的Makefile,make构建正常,但clearmake(版本9.1.0.7)构建时报错:
clearmake_7317_host_name: Error: File "labview/CMakeFiles/LabVIEW.dir/build.make", line 134
clearmake_7317_host_name: Error: Unrecognized character ""
对应行内容:
labview/application_name: ../labview/support/Message\ Queue/Enqueue\ Message.vi
尝试用引号包裹路径后,出现新报错:
clearmake_7317_host_name: Error: Unrecognized character """
可行解决配置
启用POSIX兼容模式:临时生效可在构建前设置环境变量,再执行clearmake
export CLEARMAKE_USE_POSIX_PATH=1 clearmake永久生效可将上述环境变量添加到shell配置文件(如
~/.bashrc、~/.cshrc)强制兼容GNU make语法:执行clearmake时添加
-C gnu参数clearmake -C gnu修改CMake生成规则:在CMakeLists.txt中用
file(TO_NATIVE_PATH)转换路径格式,让cmake生成clearmake可识别的依赖项set(VI_FILE "../labview/support/Message Queue/Enqueue Message.vi") file(TO_NATIVE_PATH "${VI_FILE}" NATIVE_VI_FILE) add_executable(application_name ... "${NATIVE_VI_FILE}")
说明
clearmake对路径转义符的处理逻辑和GNU make存在差异,启用兼容模式或调整cmake生成规则后,无需重命名文件即可解决报错。
内容的提问来源于stack exchange,提问作者Musa
相关产品推荐
相关产品推荐

