2014-11-24 1 views
0

프로젝트 용 buildroot를 사용하기 시작했습니다. 이 프로젝트는 2013 년 5 월에 코드 코스 팔을 사용합니다.buildroot가 sysroot에 C++ 헤더를 복사하지 않습니다.

모두 제대로 작동합니다. 부팅 가능한 커널 이미지와 적절한 rootfs를 만들었습니다. C 기반 autotools 패키지를 추가해도 아무런 문제가 없습니다. 패키지에 의해 생성 된 프로그램은 대상에 있으며 잘 실행됩니다.

C++ 패키지를 추가 할 때 문제가 발생합니다. "/ usr/include의 안전하지 않은 사용"오류로 컴파일하는 데 실패합니다. 구성의 출력을 보면이 보여줍니다

확인 문자열의 유용성을 ... 더 확인 문자열 존재 ... 더 문자열을 검사하지 ... 더 벡터의 유용성을 확인하지 ... 벡터의 존재를 확인없이 . 나는 C를 찾으 ++ 헤더를 buildroot (OUPUT/호스트)의 출력 폴더에 내가이 C++ 헤더 중 하나를 찾을 수 없습니다 .. 더 은 ... 벡터에 대한 더

을 확인하지 않습니다.

그래서 C++ 헤더를 설치/cp-ing하지 않고 buildroot를 설치하십시오.

참고 : 외부 툴체인을 사용하여 수동으로 패키지를 구성하고 빌드 할 때 buildroot를 사용하지 않는 것이 좋습니다. - 외부 툴 체인에서 C++ 헤더를 사용할 수 있기 때문에 모든 것이 좋습니다.

내가 뭘 잘못하니 ??

답변

1

Buildroot는 확실히 C++ 헤더를 복사하고 있으며 사람들은 Buildroot를 사용하여 매일 C++ 응용 프로그램을 작성하고 있습니다.

그러나 응용 프로그램을 빌드 할 때 "안전하지 않은/usr/include 사용"이 발생하면 응용 프로그램의 Makefile이 손상된 것입니다. 이는 CFLAGS에 -I/usr/include를 전달하므로 응용 프로그램의 Makefile이 손상되었음을 의미합니다. 크로스 컴파일 할 때 정말 안좋아. 이 문제를 해결하면 C++ 헤더가 사라집니다.

관련 문제