我正在尝试构建qt-all-opensource-src-4.5.3源代码,我正在进行debian测试并且构建失败,并显示以下错误消息:
g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/preprocessorcontrol.o preprocessorcontrol.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/replacetoken.o replacetoken.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/tokenreplacements.o tokenreplacements.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/textreplacement.o textreplacement.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/portingrules.o portingrules.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/qtsimplexml.o qtsimplexml.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/projectporter.o projectporter.cpp g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/proparser.o proparser.cpp In file included from translationunit.h:48:0, from projectporter.cpp:47: codemodel.h: In instantiation of ‘void CodeModel::Collection::add(CollectedType*) [with CollectedType = CodeModel::Type]’: codemodel.h:296:36: required from here codemodel.h:99:7: error: ‘insert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] codemodel.h:99:7: note: declarations in dependent base ‘QMultiHash’ are not found by unqualified lookup codemodel.h:99:7: note: use ‘this->insert’ instead g++ -c -pipe -g -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_CAST_TO_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtXml -I../../../include -I.moc/release-shared -o .obj/release-shared/fileporter.o fileporter.cpp make[5]: *** [.obj/release-shared/projectporter.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[5]: Leaving directory `/home/habeeb/lab/xml/debian/3rd/qt/4.5.3/qt-all-opensource-src-4.5.3/tools/porting/src' make[4]: *** [sub-src-make_default] Error 2 make[4]: Leaving directory `/home/habeeb/lab/xml/debian/3rd/qt/4.5.3/qt-all-opensource-src-4.5.3/tools/porting' make[3]: *** [sub-porting-make_default-ordered] Error 2 make[3]: Leaving directory `/home/habeeb/lab/xml/debian/3rd/qt/4.5.3/qt-all-opensource-src-4.5.3/tools' make[2]: *** [sub-tools-make_default-ordered] Error 2 make[2]: Leaving directory `/home/habeeb/lab/xml/debian/3rd/qt/4.5.3/qt-all-opensource-src-4.5.3'
有问题的代码,model.h(第95到100行):
class Collection: public QMultiHash { public: void add(CollectedType *collectedItem) { insert(collectedItem->name(), collectedItem); } };
是否与遗失图书馆有关?我该如何解决这个问题?
感谢你!