문제

사람이 어떤 경험이 있으로 실행하는 C++응용 프로그램을 사용하는 향상 라이브러리에 uclibc 가 기반 시스템의 차이점은 무엇입니까?그것도 가능한가요?는 C++표준 라이브러리를 사용합니까?은 uclibc 가++와 함께 사용할 수 boost?

도움이 되었습니까?

해결책

우리는 UCLINUX를 실행하는 ARMV4 플랫폼에서 GCC 2.95.3, libstdc ++ 및 stlport와 함께 Boost를 사용합니다. Boost의 일부는 GCC 2.X와 호환되지 않지만 특정 경우에는 잘 작동합니다. 우리가 가장 많이 사용하는 라이브러리는입니다 날짜 시간, 묶다, 기능, 튜플 그리고 .

우리가 문제가있는 도서관 중 일부는 람다, shared_pointer 그리고 체재. 이러한 문제는 GCC 버전으로 인해 발생했을 가능성이 높습니다. 너무 많은 수준의 템플릿 구조 또는 깊은 수준의 템플릿 구조가있을 때 문제가 있기 때문입니다.

가능하면 특정 도구 체인으로 부스트 테스트 스위트를 실행하여 호환성을 보장하는 것이 좋습니다. 최소한 라이브러리 버전이 호환되도록 기본 툴체인을 컴파일 할 수 있습니다.

우리는 UCLIBC ++를 사용하지 않았습니다. 왜냐하면 우리의 툴체인 제공 업체가 권장하는 것이 아니기 때문에 특정 조합에 대해서는 언급 할 수 없기 때문입니다.

다른 팁

우리가 사용하는 많은 향상 라이브러리(쓰레드,파일시스템,신호,기능,바인딩,모든,asio,smart_ptr,tuple)에 Arcom Vulcan 은 틀림없이 매우 강력한 임베디드 장치(64M RAM,533MHz XScale).모든 것을 아름답게 작동합니다.

GCC3.4 그러나 우리는 사용하지 않는 uclib++(Arcom 제공하는 여러가지 툴을 포함하는 libstd++).

많은 임베디드 장치를 행복하게 실행의 많은 라이브러리를 높일,가정 괜찮은 컴파일러 지원합니다.그냥 돌으로 사용합니다.일러 수준을 높이의 추상화하고 수용하기 쉽보다 더 많은 자원을 생각합니다.

"uclibc stlport"를 구글링했습니다. stlport를 컴파일 할 수있는 uclibc 버전이 몇 개있는 것 같습니다 ( 이것). 그 점을 감안할 때, Boost는 몇 가지 컴파일 단계 일 뿐이라고 말하고 싶습니다. 나는 부스트 커뮤니티의 활발한 회원 인 David Abrahams (Boost Community의 활동적인 회원)의 메시지를 읽었습니다. 그러나 일부 라이브러리는 여전히 문제를 일으킬 수 있습니다. Boost.python은 UCLIBC로 컴파일하기 어려운 다른 (내 예에서 Python)에 의존하기 때문에 여전히 문제를 일으킬 수 있습니다.

도움이 되었기를 바랍니다

나는 시도하지 않았지만 UCLIBC에 대해서는 부스트가 작동하는 것을 막을 수있는 전혀 아무것도 모른다.

그것을 시도하고 무슨 일이 일어나는지보십시오.

예, uclibc와 함께 부스트를 사용할 수 있습니다.
ARM9260에서 Boost 1.45 & uclibc로 이것을 시도했습니다.

  1. 신선한 OpenEmbedded를 사용하십시오
  2. 앙스트롬을 사용하도록 구성하십시오
  3. UCLIBC를 사용하도록 Angstrom을 구성하십시오
  4. 부스트 만들기 -Titbake Boost
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top