Android ndk Android.mk:如何自动添加反斜杠

Android ndk Android.mk:如何自动添加反斜杠,android-ndk,makefile,gnu-make,Android Ndk,Makefile,Gnu Make,在Android.mk中,我读取了系统环境变量的上下文,比如$(MY_ENV_variable)。env变量在“程序(x86)文件”中包含以下字符串 但是构建失败,声称找不到指定的库。故障发生在“程序(x86)文件”中的windows样式空间 因此,我的问题是,是否有任何机制可以自动转义空格等特殊符号(例如,我的例子是“Program(x86)\Files”)您可以尝试使用windows路径约定,即使用平铺字符So而不是C:\Program(x86)Files\mydir应该是C:\PROGRA

Android.mk
中,我读取了系统环境变量的上下文,比如$(MY_ENV_variable)。env变量在“程序(x86)文件”中包含以下字符串

但是构建失败,声称找不到指定的库。故障发生在
“程序(x86)文件”
中的windows样式空间


因此,我的问题是,是否有任何机制可以自动转义空格等特殊符号(例如,我的例子是
“Program(x86)\Files”

您可以尝试使用windows路径约定,即使用平铺字符So而不是
C:\Program(x86)Files\mydir
应该是
C:\PROGRA~2\mydir
(PROGRA~1用于64位程序文件)

正如eldar在评论中所说,最好不要在路径名中使用空格,因为make的大多数函数都使用空格作为分隔符。您可以尝试的另一个选择是在此处查看我的建议:


由于Android是一个相当复杂的构建环境,除非您知道自己在做什么,并且希望不会破坏makefile中的任何其他内容,否则可能很难看到最终替换的位置。

您可以尝试使用windows路径约定,即使用波浪字符,而不是
C:\Program(x86)Files\mydir
应该是
C:\PROGRA~2\mydir
(PROGRA~1用于64位程序文件)

正如eldar在评论中所说,最好不要在路径名中使用空格,因为make的大多数函数都使用空格作为分隔符。您可以尝试的另一个选择是在此处查看我的建议:


由于Android是一个相当复杂的构建环境,除非您知道自己在做什么,并且希望不会破坏makefile中的任何其他内容,否则可能很难看到最终替换的位置。

我建议您避免使用带有空格的路径,因为GNU Make不能正确处理这样的字符串。我建议您避免使用带有空格的路径,因为GNU Make不能正确处理这样的字符串。