链接器错误:对`std :: ctype :: _ M_widen_init()的未定义引用

我在尝试运行示例项目时遇到链接器错误。 你能告诉我怎么解决这个问题?

提前致谢。

 make [1]:输入目录`/ 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 -lulti_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]:离开目录`/ home / rumi / MobiusProject / Multiproc-Paper / Transformer / ssg'make:离开目录`/ home / rumi / MobiusProject / Multiproc-Paper / Transformer / ssg'/ home / rumi / Mobius /mobius/Mobius-2.3/Cpp/lib/Linux_lib/libgenMain.a(Main.o):在函数`commandline(int,char **,int&,char *&,char *&)'中:Main.cpp :( .text + 0x494):未定义引用`std :: ctype :: _ M_widen_init()const'Main.cpp :(。text + 0x4b1): 未定义引用`std :: ctype :: _ M_widen_init()const'Main.cpp :(。text + 0x584):未定义引用`std :: ctype :: _ M_widen_init()const'/ home / rumi / Mobius / mobius / Mobius-2.3 / Cpp / lib / Linux_lib / libgenMain.a(Main.o):在函数`main'中:Main.cpp :(。text + 0x894):未定义引用`std :: ctype :: _ M_widen_init()const 'Main.cpp :(。text + 0x8b4):对`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):对`std :: ctype :: _ M_widen_init()const'的更多未定义引用跟随collect2:ld返回1退出状态make [1]:*** [exec3 ]错误1使:*** [opt]错误2 

看起来它是标准库的一部分,在这里不匹配。 我能想到的两个最可能的答案:

  • 您没有使用相同版本的g ++编译和链接整个项目(包括所有库)。
  • 您用于标准库不匹配的标头/库路径,并且您从一个库版本获取标头,但从不同版本获取.so库。