我运行以下链接程序命令
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
此消息有误
/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
它告诉我,链接器命令(即-licuuc
)中缺少libicuuc库,但是肯定存在。我想念什么?
答案 0 :(得分:0)
事实证明,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