2017-11-06 2 views
0

arm-linux-androideabi-g ++을 사용하여 Linux에서 안드로이드 응용 프로그램을 크로스 컴파일하려고하면 헤더 파일 cstdarg을 찾을 수 없다는 오류가 발생합니다. 내가/포함 /은/usr/- androideabi 팔 - 리눅스로 보면 ++ 헤더 파일이 존재 c를arm-linux-androideabi-g ++에서 헤더 cstdarg를 찾을 수 없음

common.h:27:19: fatal error: cstdarg: No such file or directory 
compilation terminated. 

는, 헤더가 있지만 다른 없습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

1

<cstdarg>은 시스템 헤더가 아니며 C++ 표준 라이브러리에서 온 것입니다. 명령 줄에 C++ 헤더를 추가하지 못한 것처럼 보입니다. 그들은 $ANDROID_NDK/sources/cxx-stl/의 밑에 둔다. 물론 적절한 라이브러리 구현을 위해 헤더를 사용하고 있는지 확인하십시오.

또한 컴 플라이어 관련 C 헤더 (<stdarg.h><cstdarg>에 사용됨)를 포함해야 할 수도 있습니다.

표준 헤더 중 일부는 컴파일러 관련 확장, 내장 함수 등을 사용하기 때문에 컴파일러 관련입니다. <stdarg.h>이 그 중 하나입니다. 속성 상 일반 sysroot include 디렉토리에 두는 것은별로 의미가 없습니다. $ANDROID_NDK/toolchains/ 디렉토리 아래를보십시오.