скачал Qt SDK для Windows, открываю старый проект, при сборки появляются ошибки вида:
...:50:23: error: QtGui/QIcon: No such file or directory
...:51:29: error: QtGui/QTreeWidget: No such file or directory
получается qmake не правильно генерирует makefile(не указывая путей где лежат заголовочные файлы), пробовал вручную их добавлять эффект тот же самый, попробовал создал тестовый проект, всё собирается. никто не сталкивался с такой проблемой?
Вот только что , вчера, столкнулся с аналогичным - если то же самое, то в *.pro нужно дописать QtGui в поле QT )
не помогло, даже иногда при запуске qmake исключение возникает, лучше бы троли на своём сайте старую версию sdk оставили бы.
собрал Qt динамически, запускаю qmake -project, затем собираю, но qmake некоторые файлы распознал как не требующие Qt заголовков(хотя они требуются), как можно это исправить?
переделал файл проекта, теперь получаю другие ошибки(под линуксом всё нормально собирается). в проекте подключаются две библиотеке из Qt Solutions:
include(3dparty/qtpropertybrowser/qtpropertybrowser.pri)
include(3dparty/qttoolbardialog/qttoolbardialog.pri)
g++ -IC:\boost_1_43_0 -IC:\qt_4_6_3\include -std=c++0x -g -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN 3dparty/qttoolbardialog/qttoolbardialog.cpp -o 3dparty/qttoolbardialog/QtToolBarDialog
mingw32-make[1]: Leaving directory `Z:/projects/DevStudio/trunk'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `freeData':
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:C:/qt_4_6_3/include/QtCore/qmap.h:632: more undefined references to `_imp___ZN8QMapData16continueFreeDataEi' follow
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `free':
C:/qt_4_6_3/include/QtCore/qlist.h:649: undefined reference to `_imp___Z5qFreePv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `freeData':
C:/qt_4_6_3/include/QtCore/qhash.h:567: undefined reference to `_imp___ZN9QHashData11free_helperEPFvPNS_4NodeEE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `freeData':
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `freeData':
C:/qt_4_6_3/include/QtCore/qstring.h:869: undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `freeData':
C:/qt_4_6_3/include/QtCore/qmap.h:632: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `free':
C:/qt_4_6_3/include/QtCore/qstring.h:869: undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `free':
C:/qt_4_6_3/include/QtCore/qlist.h:649: undefined reference to `_imp___Z5qFreePv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `QMap':
C:/qt_4_6_3/include/QtCore/qmap.h:164: undefined reference to `_imp___ZN8QMapData11shared_nullE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `QHash':
C:/qt_4_6_3/include/QtCore/qhash.h:282: undefined reference to `_imp___ZN9QHashData11shared_nullE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `QList':
C:/qt_4_6_3/include/QtCore/qlist.h:113: undefined reference to `_imp___ZN9QListData11shared_nullE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:377: undefined reference to `_imp___ZNK7QObject10objectNameEv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:377: undefined reference to `_imp___ZNK7QStringeqERKS_'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `~QString':
C:/qt_4_6_3/include/QtCore/qstring.h:869: undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:385: undefined reference to `_imp___ZNK7QString11toLocal8BitEv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:385: undefined reference to `_imp___Z8qWarningPKcz'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:390: undefined reference to `_imp___ZNK7QWidget11windowTitleEv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:390: undefined reference to `_imp___ZNK7QStringeqERKS_'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `~QString':
C:/qt_4_6_3/include/QtCore/qstring.h:869: undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:397: undefined reference to `_imp___ZNK7QString11toLocal8BitEv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:397: undefined reference to `_imp___Z8qWarningPKcz'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `~QByteArray':
C:/qt_4_6_3/include/QtCore/qbytearray.h:382: undefined reference to `_imp___Z5qFreePv'
C:/qt_4_6_3/include/QtCore/qbytearray.h:382: undefined reference to `_imp___Z5qFreePv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:434: undefined reference to `_imp___ZNK7QObject10objectNameEv'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:434: undefined reference to `_imp___ZNK7QStringeqERKS_'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `~QString':
C:/qt_4_6_3/include/QtCore/qstring.h:869: undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `QtFullToolBarManager':
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:445: undefined reference to `_imp___ZN7QObjectC2EPS_'
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:445: undefined reference to `vtable for QtFullToolBarManager'
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:445: undefined reference to `_imp___ZN7QObjectD2Ev'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `qMapLessThanKey<QString>':
C:/qt_4_6_3/include/QtCore/qmap.h:107: undefined reference to `_imp___ZNK7QStringltERKS_'
C:/qt_4_6_3/include/QtCore/qmap.h:107: undefined reference to `_imp___ZNK7QStringltERKS_'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `QtToolBarManager':
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:837: undefined reference to `_imp___ZN7QObjectC2EPS_'
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:837: undefined reference to `vtable for QtToolBarManager'
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:837: undefined reference to `_imp___ZN7QObjectD2Ev'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o: In function `~QtToolBarManager':
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:848: undefined reference to `vtable for QtToolBarManager'
Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:848: undefined reference to `_imp___ZN7QObjectD2Ev'
C:\DOCUME~1\killer\LOCALS~1\Temp\ccieSbd2.o:Z:\projects\DevStudio\trunk/3dparty/qttoolbardialog/qttoolbardialog.cpp:1226: undefined reference to `_imp___ZNK11QListWidget11currentItemEv'
посмотрел Makefile.Release:
release/MainWindow.o: src/MainWindow.cpp 3dparty/qttoolbardialog/QtToolBarManager \ // <<
3dparty/qttoolbardialog/qttoolbardialog.h \
3dparty/qttoolbardialog/QtToolBarDialog \ // <<
src/MainWindow.h \
...
3dparty/qtpropertybrowser/QtTreePropertyBrowser \ // <<
3dparty/qtpropertybrowser/qttreepropertybrowser.h \
3dparty/qtpropertybrowser/qtpropertybrowser.h \
src/Database.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\MainWindow.o src\MainWindow.cpp
под линуксом из консоли запустил qmake, получил makefile, собираю через make, получаю ошибки:
src/Database.cpp:7:19: error: QString: Нет такого файла или каталога
src/Database.cpp:8:23: error: QStringList: Нет такого файла или каталога
src/Database.cpp:9:24: error: QSqlDatabase: Нет такого файла или каталога
src/Database.cpp:12:21: error: QFileInfo: Нет такого файла или каталога
src/Database.cpp:13:21: error: QSqlQuery: Нет такого файла или каталога
src/Database.cpp:14:21: error: QSqlError: Нет такого файла или каталога
src/Database.cpp:15:20: error: QVariant: Нет такого файла или каталога
src/Database.cpp:16:24: error: QApplication: Нет такого файла или каталога
src/Database.cpp:17:18: error: QDebug: Нет такого файла или каталога
src/Database.cpp:18:20: error: QtPlugin: Нет такого файла или каталога
######################################################################
# Automatically generated by qmake (2.01a) ?? ???. 16 00:07:53 2010
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += . \
src \
src/AutoCompleteEngine \
src/BuildEngine \
src/DebugEngine \
src/EditorEngine \
src/OutputEngine \
src/PluginEngine \
src/ProjectEngine \
src/PropertyBrowser \
src/SearchEngine \
src/TemplateEngine \
src/TextEditor
INCLUDEPATH += . \
src \
src/PluginEngine \
src/ProjectEngine \
src/EditorEngine \
src/TextEditor \
src/SearchEngine \
src/OutputEngine \
src/DebugEngine \
src/AutoCompleteEngine \
src/BuildEngine \
src/PropertyBrowser \
src/TemplateEngine
# Input
HEADERS += src/Database.h \
src/LayoutsDialog.h \
src/MainWindow.h \
src/Manager.h \
src/OptionsDialog.h \
src/RecentsManager.h \
src/SaveFilesDialog.h \
src/SaveItems.h \
src/SaveLayoutDialog.h \
src/Style.h \
src/TaskListFilterDialog.h \
src/TaskListWidget.h \
src/UserTasks.h \
src/AutoCompleteEngine/OutlineWidget.h \
src/BuildEngine/BuildManager.h \
src/DebugEngine/BreakpointConditionDialog.h \
src/DebugEngine/BreakpointHitCountDialog.h \
src/DebugEngine/BreakpointLocationDialog.h \
src/DebugEngine/BreakpointsWidget.h \
src/DebugEngine/CallStackWidget.h \
src/DebugEngine/DebuggerDriver.h \
src/DebugEngine/LocalWatchWidget.h \
src/DebugEngine/MemoryWidget.h \
src/DebugEngine/RegisterWatchWidget.h \
src/DebugEngine/SignalDialog.h \
src/DebugEngine/WatchWidget.h \
src/DebugEngine/WhenBreakpointHitDialog.h \
src/EditorEngine/TabbedMDIEditor.h \
src/EditorEngine/TextEdit.h \
src/EditorEngine/TextPreview.h \
src/OutputEngine/MessagesWidget.h \
src/OutputEngine/MessageType.h \
src/OutputEngine/OutputHighlighter.h \
src/OutputEngine/OutputWidget.h \
src/PluginEngine/PluginDialog.h \
src/PluginEngine/PluginLoader.h \
src/PluginEngine/PluginManager.h \
src/PluginEngine/PluginPropertiesDialog.h \
src/PluginEngine/PluginSdk.h \
src/ProjectEngine/BatchBuildDialog.h \
src/ProjectEngine/ConfigurationManagerDialog.h \
src/ProjectEngine/EditConfigurationsDialog.h \
src/ProjectEngine/NewConfigurationDialog.h \
src/ProjectEngine/NewFileDialog.h \
src/ProjectEngine/NewProjectDialog.h \
src/ProjectEngine/Project.h \
src/ProjectEngine/ProjectException.h \
src/ProjectEngine/ProjectFwd.h \
src/ProjectEngine/Properties.h \
src/ProjectEngine/PropertiesDialog.h \
src/ProjectEngine/Solution.h \
src/ProjectEngine/SolutionExplorer.h \
src/ProjectEngine/SolutionFwd.h \
src/PropertyBrowser/ComboBoxFactory.h \
src/PropertyBrowser/ExStringEdit.h \
src/PropertyBrowser/ExStringFactory.h \
src/PropertyBrowser/ExStringManager.h \
src/PropertyBrowser/PathListDialog.h \
src/PropertyBrowser/StringListDialog.h \
src/SearchEngine/FindDialog.h \
src/SearchEngine/FindState.h \
src/SearchEngine/Searcher.h \
src/TemplateEngine/FileWizardDialog.h \
src/TemplateEngine/ProjectWizardDialog.h \
src/TextEditor/ParserDriver.h \
src/TextEditor/TextEditor.h
SOURCES += src/Database.cpp \
src/LayoutsDialog.cpp \
src/main.cpp \
src/MainWindow.cpp \
src/Manager.cpp \
src/OptionsDialog.cpp \
src/RecentsManager.cpp \
src/SaveFilesDialog.cpp \
src/SaveLayoutDialog.cpp \
src/Style.cpp \
src/TaskListFilterDialog.cpp \
src/TaskListWidget.cpp \
src/AutoCompleteEngine/OutlineWidget.cpp \
src/BuildEngine/BuildManager.cpp \
src/DebugEngine/BreakpointConditionDialog.cpp \
src/DebugEngine/BreakpointHitCountDialog.cpp \
src/DebugEngine/BreakpointLocationDialog.cpp \
src/DebugEngine/BreakpointsWidget.cpp \
src/DebugEngine/CallStackWidget.cpp \
src/DebugEngine/DebuggerDriver.cpp \
src/DebugEngine/LocalWatchWidget.cpp \
src/DebugEngine/MemoryWidget.cpp \
src/DebugEngine/RegisterWatchWidget.cpp \
src/DebugEngine/SignalDialog.cpp \
src/DebugEngine/WatchWidget.cpp \
src/DebugEngine/WhenBreakpointHitDialog.cpp \
src/EditorEngine/TabbedMDIEditor.cpp \
src/EditorEngine/TextEdit.cpp \
src/EditorEngine/TextPreview.cpp \
src/OutputEngine/MessagesWidget.cpp \
src/OutputEngine/OutputHighlighter.cpp \
src/OutputEngine/OutputWidget.cpp \
src/PluginEngine/PluginDialog.cpp \
src/PluginEngine/PluginLoader.cpp \
src/PluginEngine/PluginManager.cpp \
src/PluginEngine/PluginPropertiesDialog.cpp \
src/ProjectEngine/BatchBuildDialog.cpp \
src/ProjectEngine/ConfigurationManagerDialog.cpp \
src/ProjectEngine/EditConfigurationsDialog.cpp \
src/ProjectEngine/NewConfigurationDialog.cpp \
src/ProjectEngine/NewFileDialog.cpp \
src/ProjectEngine/NewProjectDialog.cpp \
src/ProjectEngine/Project.cpp \
src/ProjectEngine/Properties.cpp \
src/ProjectEngine/PropertiesDialog.cpp \
src/ProjectEngine/Solution.cpp \
src/ProjectEngine/SolutionExplorer.cpp \
src/PropertyBrowser/ComboBoxFactory.cpp \
src/PropertyBrowser/ExStringEdit.cpp \
src/PropertyBrowser/ExStringFactory.cpp \
src/PropertyBrowser/PathListDialog.cpp \
src/PropertyBrowser/StringListDialog.cpp \
src/SearchEngine/FindDialog.cpp \
src/SearchEngine/Searcher.cpp \
src/TemplateEngine/FileWizardDialog.cpp \
src/TemplateEngine/ProjectWizardDialog.cpp \
src/TextEditor/ParserDriver.cpp \
src/TextEditor/TextEditor.cpp
RESOURCES += DevelStudio.qrc
include(3dparty/qtpropertybrowser/qtpropertybrowser.pri)
include(3dparty/qttoolbardialog/qttoolbardialog.pri)
INCLUDEPATH += 3dparty/rapidxml
QT += xml sql webkit
LIBS += -l:libboost_system.a -l:libboost_filesystem.a -l:libboost_thread.a -l:libboost_regex.a
#QMAKE_CXXFLAGS += -g
win32 {
CONFIG(debug, debug|release) {
OBJECTS_DIR = tmp/win32/debug
} else {
OBJECTS_DIR = tmp/win32/release
}
}
unix {
CONFIG(debug, debug|release) {
OBJECTS_DIR = tmp/unix/debug
} else {
OBJECTS_DIR = tmp/unix/release
}
}
unix {
LIBS += -lpthread
CONFIG += static
QTPLUGIN += qsqlite
DEFINES += STATIC_LINK
}
RC_FILE = icon.rc
с cmake те же проблемы. вообще не понятно почему если moc_* подключен в *.cpp то он должен исключаться(для qmake).
вот на prog.org та же проблема http://www.prog.org.ru/index.php?topic=12491.msg79906
наверное придётся править Qt Solutions избавлясь от шаблона pimpl.
ты конфигурил библиотеку в виндовозе?
Должен был получится файл config.pri, с единственной строкой:
SOLUTIONS_LIBRARY = yes
только вот троли нигде это не упоминают.qt4_wrap_cpp (moc_sources ${headers}) # <- из headers убираем *.h которые включаются в *.cpp как *.moc
qt4_automoc(${sources}) # <- когда находит в *.cpp #include "*.moc" вызывает moc
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)