2013-08-29 11 views
0

ARM 프로세서에서 eCos 용 C++ 응용 프로그램을 빌드하려고합니다. 내 프로그램은 벡터, iostream, 목록과 같은 몇 가지 표준 C++ 헤더 파일을 필요로합니다 ...ARM의 eCos 용 C++ 응용 프로그램 빌드

내 질문은 : 어떻게 이것을 할 수 있습니까? 누구든지 eCos 용 C++ 응용 프로그램을 구축하고 배포 한 경험이 있습니까?

내가 응용 프로그램을 컴파일하기 위해 팔 EABI-g ++ 컴파일러를 사용

, 나는 C++ 벡터 라이브러리가 존재하지 않는 것을 의미 다음과 같은 오류

fatal error: vector: No such file or directory 

를 얻을.

그러나 arm-none-eabi-g ++ 컴파일러에는 이러한 표준 헤더 파일이 포함되어 있습니다. ''에 대해 다음과 같은 오류가 발생합니다.

In file included from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/locale_facets.h:43:0, 
      from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/basic_ios.h:39, 
      from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ios:45, 
      from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ostream:40, 
      from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/iostream:40, 
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:44:35: error: '_U' was not declared in this scope 
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:45:32: error: '_L' was not declared in this scope 
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:46:32: error: '_U' was not declared in this scope 
... 

eCos 용 arm-none-eabi-g ++ 컴파일러를 사용할 수 있습니까? 그렇다면이 오류를 어떻게 해결합니까? 아니오라면 무엇을해야합니까?

미리 감사드립니다.

답변

0

vector, list은 기본적으로 Standard template library에 속합니다. 생태계에 대해서도 비슷하게 비슷한 것이있을 수 있습니다. BOOST. 내가 확인할 수 있다고 생각합니다 this link

0

ustl이 필요합니다. Using uSTL in eCos applications을 참조하십시오.

다음은 vector을 사용하는 간단한 예입니다.

당신은 그런

#include <ustl.h> 

당신이 벡터과 같이 인스턴스화 할 수 있습니다 포함해야

:

ustl::vector<int> v(2);