【问题标题】:libicuuc: DSO missing from command linelibicuuc:命令行中缺少 DSO
【发布时间】:2019-01-12 09:04:57
【问题描述】:

我运行以下链接器命令

g++ -Wl,-rpath,/opt/Qt/5.11.1/gcc_64/lib -o qt_mapnik main.o mainwindow.o moc_mainwindow.o   -L/usr/local/lib -lmapnik -lboost_filesystem -lboost_regex -lpng -lproj -ltiff -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -L/home/mark/Documents/mapnik/freetype -L/usr/lib -pthread -L/opt/Qt/5.11.1/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread

此消息出错​​p>

/usr/bin/x86_64-linux-gnu-ld: main.o: undefined reference to symbol '_ZNK6icu_6013UnicodeString10doHashCodeEv'
//usr/lib/x86_64-linux-gnu/libicuuc.so.60: error adding symbols: DSO missing from command line

它告诉我链接器命令中缺少 libicuuc 库(即-licuuc),但它肯定存在。我错过了什么?

【问题讨论】:

    标签: gcc linker g++ linker-errors


    【解决方案1】:

    事实证明,libicuuc 也存在于我的计算机上。编译器首先在/opt/Qt/5.11.1/gcc_64/lib/libicuuc.so.56 中找到它。但是,它需要的版本在/usr/lib/x86_64-linux-gnu/libicuuc.so.60 中,可以通过将-licuuc 替换为/usr/lib/x86_64-linux-gnu/libicuuc.so.60 来更改链接器命令

    【讨论】:

      猜你喜欢
      • 2016-01-20
      • 2016-11-17
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 2021-05-18
      • 2016-02-18
      相关资源
      最近更新 更多