2013-04-04 5 views
7

Bu sorunun cevabı How to compile/link Boost with clang++/libc++? devletler şu yapmalıdır: Boost libstdC++ bağımlılığını clang ++/libC++ ile kaldırılsın mı? <code>clang++</code> ve <code>libc++</code> ile <code>Boost</code> inşa etmek

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

Bir bilimsel Linux 6.4 x86_64 ana bilgisayarda yukarıdaki ucu test edilmiş ve bunun "çoğunlukla" tam bina işleri clang++ 3.3sv ve libc++ 3.3svn ile 1_53_0 dağıtımını artırın. Ben çoğunlukla, tüm libstdc++ bağımlılığı kaldırmak istediğim gibi söyledim. Aşağıdaki Yine

:

  • libboost_graph
  • libboost_locale
  • libboost_regex

hala gösterir libstdc++ bağımlılıkları (ldd çıkış oldukça bariz hale getirir). Bunu kaldırmanın iyi bir yolunu bilmek istiyorum ve herhangi bir ipucu için minnettarım.

+0

temelde libstdC++ ile statik olarak bağlantı kuruyor musunuz? Veya başka bir şey? – alrikai

+3

Linux'ta libstdC++ 'a düşük seviyedeki libsupC++ desteğini almak için bağlantı kurabilirsiniz, ancak bu teoriden emin değilim. Bunun için GPL olmayan değiştirmeler var, libC++ abi veya libcxxabi için arama. –

+0

@alrikai, Aslında yapmak istediğim, libC++'yi statik olarak bağlamak, böylece eski Linux’u çalıştıran sistemlerde C++ 11’de uygulanan yazılımı çalıştırabilirim. RHEL 5.x, 6.x – user183394

cevap

-3

Nasıl yapılacağını öğrendim. libc++abi'dan bahsettiği için @Howard Hinnant'a teşekkürler. RTFM http://libcxx.llvm.org/'dan sonra, tüm destek kütüphanelerini libstdc++ bağımlılıklarından arındırmak önemsizdir. Evet, tek yapmam gereken RTFM'ye!

+12

Peki, çözümü bulduğunuz için mutluyuz, ancak "RTFM" türünün genel bir cevabı aslında diğerlerine göre biraz daha fazla yardıma ihtiyaç duyanlara yardım etmiyor. En azından doğru yönde (spesifik değil, genel, bağlantı, bakılacak bir bölüm, vb) işaret etmek ister misiniz? – csotiriou

+0

Evet, işe yaramaz cevap, -1 – paulm

İlgili konular