2013-04-04 11 views
7

odpowiedź na to pytanie How to compile/link Boost with clang++/libc++? państw do tworzenia Boost z clang++ i libc++ dodaje powinien zrobić:Usuwanie zależności Boost libstdC++ z kodem ++/libC++?

./b2 clean 
./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++" 

Testowałem powyższy końcówkę na Scientific Linux 6.4 x86_64 gospodarza i działa „głównie” budowanie pełnej Zwiększyć dystrybucję 1_53_0, z clang++ 3.3sv i libc++ 3.3svn. Powiedziałem głównie, ponieważ bardzo lubię usunąć zależność libstdc++.

Niemniej jednak, co następuje:

  • libboost_graph
  • libboost_locale
  • libboost_regex

nadal pokazuje libstdc++ Zależności (wyjście ldd sprawia, że ​​dość oczywiste). Chciałbym znać dobry sposób, aby usunąć takie i docenią wszelkie wskazówki.

+0

czy zasadniczo chcesz statycznie połączyć libstdC++? Albo coś innego? – alrikai

+3

W systemie Linux możesz łączyć się z libstdC++, aby uzyskać wsparcie dla libsupC++ na niskim poziomie, ale nie jestem pewien tej teorii. Istnieją do tego zamienniki inne niż GPL, szukaj libC++ abi lub libcxxabi. –

+0

@alrikai Właściwie to chciałbym połączyć statyczne libC++, aby móc uruchomić oprogramowanie zaimplementowane w C++ 11 na systemach starszych niż Linux, np. RHEL 5.x, 6.x. – user183394

Odpowiedz

-3

Dowiedziałem się, jak to zrobić. Dzięki @Howard Hinnant za jego wzmiankę o libc++abi. Po RTFM http://libcxx.llvm.org/, trywialne jest budowanie całych bibliotek doładowania bez jakichkolwiek zależności od libstdc++. Tak, wszystko, co musiałem zrobić, to RTFM!

+12

Cieszymy się, że znalazłeś rozwiązanie, ale ogólna odpowiedź typu "RTFM" w rzeczywistości nie pomaga tym, którzy potrzebują trochę więcej pomocy niż inni. Czy chcesz przynajmniej wskazać właściwy kierunek (konkretny, nie ogólny, link, sekcja do obejrzenia itp.)? – csotiriou

+0

Tak, bezużyteczna odpowiedź, -1 – paulm

Powiązane problemy