2010-10-27 29 views
8

Örnek bir proje çalıştırmaya çalışırken bağlayıcı hatası alıyorum. Bunu nasıl düzeltebilirim?Linker hatası: tanımlanmamış başvuru: std :: ctype <char> :: _ M_widen_init()

Şimdiden teşekkürler.

 
make[1]: Entering directory `/home/rumi/MobiusProject/Multiproc-Paper/Transformer/ssg' 
/usr/bin/g++ -w -DMOBIUS_LITTLE_ENDIAN -DMOBIUS_LINUX -m32 -o ssgGen_Linux -L../../lib/Linux_lib/ -L/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/lib/Linux_lib -L/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/external/lib/Linux -L../../external/lib/Linux -lgenMain -lgen -lvary_num_compRangeStudy -lmulti_proc_PVPV -lmulti_procRJ -lmemory_moduleSAN -lcpu_moduleSAN -lio_port_moduleSAN -lerrorhandlersSAN -lTRex -lStudy -lPV -lComposer_RepJoin -lSAN -lbase -lstate -lmobutil -ldist -lstdc++ -lcrypto -lpthread -lm 

make[1]: Leaving directory `/home/rumi/MobiusProject/Multiproc-Paper/Transformer/ssg' 
make: Leaving directory `/home/rumi/MobiusProject/Multiproc-Paper/Transformer/ssg' 

/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/lib/Linux_lib/libgenMain.a(Main.o): In function `commandline(int, char**, int&, char*&, char*&)': 
Main.cpp:(.text+0x494): undefined reference to `std::ctype::_M_widen_init() const' 
Main.cpp:(.text+0x4b1): undefined reference to `std::ctype::_M_widen_init() const' 
Main.cpp:(.text+0x584): undefined reference to `std::ctype::_M_widen_init() const' 
/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/lib/Linux_lib/libgenMain.a(Main.o): In function `main': 
Main.cpp:(.text+0x894): undefined reference to `std::ctype::_M_widen_init() const' 
Main.cpp:(.text+0x8b4): undefined reference to `std::ctype::_M_widen_init() const' 
/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/lib/Linux_lib/libStudy.a(BaseStudyClass.o):BaseStudyClass.cpp:(.text+0x5c4): more undefined references to `std::ctype::_M_widen_init() const' follow 
collect2: ld returned 1 exit status 
make[1]: *** [exec3] Error 1 
make: *** [opt] Error 2 

+2

http://mandriva.598463.n5.nabble.com/Bug-49433-gcc4-4-NEW-gcc4-4-misses-std-endl-implementation-at-O2-td669229.html – DumbCoder

+1

Belki libgenMain.a, farklı bir g ++ sürümü ile derlendi mi? Bu kütüphaneyi yeniden derlemeniz ve/veya tüm derleme adımlarınızın aynı 'g ++' sürümünü kullandığından emin olmanız gerekebilir. – aschepler

+0

Belirli bir kitaplığı derlemek için g ++ sürümünün ne olduğunu bilmenin bir yolu var mı? – mfr

cevap

8

Burada eşleşmeyen standart kitaplığın bir parçası gibi görünüyor. Düşündüğüm en olası iki cevap:

  • Tüm projeyi (tüm kütüphaneler dahil), g ++ sürümünün aynısı ile derlemediniz ve ilişkilendirmediniz.
  • Standart kitaplık uyumsuzluğu için kullandığınız başlık/kitaplık yolları ve başlıkları bir kitaplık sürümünden, ancak .so kitaplığından farklı bir sürümden alıyorsunuz.
İlgili konular