2012-05-25 2 views
2

Android.mk에서 $ (MY_ENV_VARIABLE)과 같은 시스템 환경 변수의 컨텍스트를 읽었습니다. env 변수는 "Program (x86) Files"내에 다음 문자열을 포함합니다.Android.mk : 백 슬래시를 자동으로 추가하는 방법

하지만 빌드가 실패하여 지정된 라이브러리를 찾을 수 없다고 주장합니다. 실패는 Windows 스타일의 이상한 공간 인 "Program(x86) Files"에서 발생합니다.

내 질문은 공간 (예 : "Program(x86)\ Files", 내 경우)과 같은 특수 기호가 자동으로 이스케이프 처리되는 메커니즘이 있는지 여부입니다.

+0

GNU Make가 이러한 문자열을 제대로 처리하지 않기 때문에 공백이있는 경로를 사용하지 않는 것이 좋습니다. –

답변

0

틸드 문자를 사용하는 Windows 경로 지정 규칙을 사용하면 C:\Program(x86) Files\mydir 대신 C:\PROGRA~2\mydir (PROGRA ~ 1은 64 비트 프로그램 파일 용)이 될 수 있습니다.

마찬가지로 eldar는 주석에서 경로 이름에 공백을 사용하지 않는 것이 좋다고 말합니다. 왜냐하면 대부분의 make 함수는 공백을 구분 기호로 사용하기 때문입니다. 시도해 볼 수있는 또 다른 옵션은 내 제안을 여기에서 살펴 보는 것입니다. WINAVR not finding file in include path with whitespace

Android는 매우 복잡한 빌드 환경이므로 수행하고있는 것이 무엇인지 잘 알지 못하는 경우 최종 대체 위치를 찾는 것이 어려울 수 있습니다. makefile에서 다른 것을 깨뜨리지 않습니다.