2011-08-25 4 views
2

Nous utilisons boost1.46.1 dans notre projet C++. Quand je construis mon projet C++ en utilisant cmake, j'obtiens des erreurs suivantes.Erreurs de construction boost C++

Je ne suis pas sûr pourquoi je reçois cette erreur. Quelqu'un peut-il me chanter s'il vous plaît pour corriger les erreurs suivantes?

/usr/bin/ld: warning: libicuuc.so.44, needed by /efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so, not found (try using -rpath or -rpath-link) 
/usr/bin/ld: warning: libicui18n.so.44, needed by /efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so, not found (try using -rpath or -rpath-link) 
/usr/bin/ld: warning: libicudata.so.44, needed by /efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so, not found (try using -rpath or -rpath-link) 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_isspace_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `icu_44::Collator::createInstance(icu_44::Locale const&, UErrorCode&)' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_charFromName_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_charType_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_digit_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_tolower_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `icu_44::Locale::~Locale()' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `u_isblank_44' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `icu_44::Locale::Locale()' 
/efs/dist/fsf/boost/1.46.1-build001/.exec/x86-32.rhel.5/rh346/lib/libboost_regex.so: undefined reference to `icu_44::Locale::Locale(icu_44::Locale const&)' 
collect2: ld returned 1 exit status 
+1

La bibliothèque boost :: regex n'est pas uniquement en-tête, êtes-vous sûr que les bibliothèques partagées ont été construites et sont visibles pour l'éditeur de liens? – Praetorian

Répondre

1

Votre Boost.Regex est construit avec le support Unicode - vous devez créer un lien vers ICU ainsi.

+0

Quelques questions sur votre réponse: comment le savez-vous? comment puis-je le tester pour être sûr? Comment puis-je créer un lien vers ICU? – petric

Questions connexes