gnu在目录名vpath中创建空格

问题描述 投票:2回答:2

我们一直试图使包含空格字符的VPATHvpath搜索目录失败。

我的makefile包含:

vpath %cpp RTW/ModelRTW RTW/StandardTests RTW/TestFramework RTW/TestFromFile ../../../CommonCode ../04_Model/DLib/ ../04 Model/ELib/

make -p回归:

.
.
vpath %cpp RTW/ModelRTW:RTW/StandardTests:RTW/TestFramework:RTW/TestFromFile:../../../CommonCode:../04_Model/DLib

我试过引用,逃避'\'和其他几个化身无济于事。

任何帮助都会被极大地接受。

c++ c makefile gnu
2个回答
2
投票

可悲的是,它是一个very old known defect, #712,自2002年报道以来,人们已经多次关注它。

GNU make不处理名称中的空格,也从不使用。

如果你确实尝试修补它,那么你将面临严峻的挑战,因为大量的项目依赖它。需要空白支持的人转向更高级的构建系统。几十年来,已经有许多构建脚本工具,但尽管存在许多重大问题,但仍然坚持不懈。标签和空格的制作格式已经让开发人员烦恼了将近40年。

源代码可用,如果您愿意,可随意尝试修补它。大多数尝试最终放弃或制作另一个构建脚本系统的开发人员。


0
投票

最好的方法是编写一个m脚本来将文件复制到路径无空间的构建目录中。如果您使用Simulink,则在“before_make”挂钩处调用m脚本。

© www.soinside.com 2019 - 2024. All rights reserved.