Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Qt Creator проблемы со сборкой
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
DEADHUNT
скачал 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(не указывая путей где лежат заголовочные файлы), пробовал вручную их добавлять эффект тот же самый, попробовал создал тестовый проект, всё собирается. никто не сталкивался с такой проблемой?
Алексей1153
Вот только что , вчера, столкнулся с аналогичным - если то же самое, то в *.pro нужно дописать QtGui в поле QT )
DEADHUNT
не помогло, даже иногда при запуске qmake исключение возникает, лучше бы троли на своём сайте старую версию sdk оставили бы.
DEADHUNT
собрал Qt динамически, запускаю qmake -project, затем собираю, но qmake некоторые файлы распознал как не требующие Qt заголовков(хотя они требуются), как можно это исправить?
DEADHUNT
переделал файл проекта, теперь получаю другие ошибки(под линуксом всё нормально собирается). в проекте подключаются две библиотеке из Qt Solutions:
include(3dparty/qtpropertybrowser/qtpropertybrowser.pri)
include(3dparty/qttoolbardialog/qttoolbardialog.pri)

вначале появляются ошибки о том что не находятся заголовочные файлы moc_qttoolbardialog.cpp, qttoolbardialog.moc, они подключается в конце qttoolbardialog.cpp, только зачем? если закоментировать, то сборка продолжается, зачем получаю ошибки линковки:
Раскрывающийся текст

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'


только не понятно зачем линкуется 3dparty/qttoolbardialog/qttoolbardialog.cpp(наверное в этом и ошибка).
может я не правильно подключаю эти библиотеки? хотя у тролей написано что можно использовать *.pri.
DEADHUNT
посмотрел 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)?

закомментировал DEPENDPATH += $$PWD в qtpropertybrowser.pri, qttoolbardialog.pri, получил правильный makefile. остаётся не понятным зачем разработчики Qt в конце *.cpp писали #include "moc_..." из-за которого были ошибки и почему возникла проблема с DEPENDPATH.
Litkevich Yuriy
Цитата(DEADHUNT @ 16.8.2010, 6:18) *
стаётся не понятным зачем разработчики Qt в конце *.cpp писали #include "moc_..."
это необходимо, когда объявление и описание класса находятся в одном cpp-файле, а не разнесены по h/cpp. Т.к. qmake, готовя вызов moc, просматривает только файлы перечисленные в переменной HEADERS.
DEADHUNT
Цитата(Litkevich Yuriy @ 16.8.2010, 5:42) *
это необходимо, когда объявление и описание класса находятся в одном cpp-файле, а не разнесены по h/cpp. Т.к. qmake, готовя вызов moc, просматривает только файлы перечисленные в переменной HEADERS.

а почему тогда у меня получилось что в начале компилируются *.cpp файлы, потом генерируются moc и собираются. приходилось выносить объявления классов из *.cpp в *.h. в линуксе всё собиралось правильно, а в винде пришлось так делать.
Litkevich Yuriy
Цитата(DEADHUNT @ 16.8.2010, 18:00) *
в линуксе всё собиралось правильно, а в винде пришлось так делать.
этого я не знаю, может что-то троли упустили, может специально сделали для каких-то целей.
я не использую DEPENDPATH, не вижу нужды в нём.
DEADHUNT
Цитата(Litkevich Yuriy @ 16.8.2010, 5:42) *
это необходимо, когда объявление и описание класса находятся в одном cpp-файле, а не разнесены по h/cpp. Т.к. qmake, готовя вызов moc, просматривает только файлы перечисленные в переменной HEADERS.

в этом случае moc_*.cpp не компилируется отдельно, раз он уже подключен через #include в *.cpp?
опять возникают проблемы со сборкой под win(странно но в линуксе собирается без ошибок, может проблема в Qt Creator 2.0), всё из-за того что в Qt что-то перемудрили, не могли нормально реализовать классы в Qt Solutions(без использования недокументированных макросов, и т.д.)
DEADHUNT
под линуксом из консоли запустил 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: Нет такого файла или каталога

вообщем меня уже достало Qt, буду пробовать cmake.
Litkevich Yuriy
Цитата(DEADHUNT @ 22.8.2010, 0:12) *
в этом случае moc_*.cpp не компилируется отдельно, раз он уже подключен через #include в *.cpp?
да
Цитата(DEADHUNT @ 22.8.2010, 0:12) *
всё из-за того что в Qt что-то перемудрили, не могли нормально реализовать классы в Qt Solutions
с Qt Solutions я тоже сильно не доволен, приходится всё время руками править. Вообще процедура сборки Qt Solutions почему-то не описана. Там должен быть один pri-файл, в некоторых Qt Solutions он генерится shell-сценарием, а в некоторых приходится его руками делать.
DEADHUNT
Цитата(Litkevich Yuriy @ 22.8.2010, 6:51) *
да

но почему-то в windows он ещё и отдельно компилируется, и естественно вылазиют ошибки об использовании не определённого типа(incomplete type).
Litkevich Yuriy
Цитата(DEADHUNT @ 22.8.2010, 16:57) *
но почему-то в windows он ещё и отдельно компилируется
покажи свой pro-файл
DEADHUNT
Цитата(Litkevich Yuriy @ 22.8.2010, 16:06) *
покажи свой pro-файл

Раскрывающийся текст

######################################################################
# 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


qtpropertybrowser.pri, qttoolbardialog.pri стандартные, ещё заметил что при определённых манипуляциях(вызов qmake/make не знаю точно чего) затирается заголовочный файл qttoolbardialog.h.
мне кажется что это баг qmake, так как под линуксом всё собирается без проблем.
уже перешёл на cmake, практически написал скрипт сборки.
DEADHUNT
с cmake те же проблемы. вообще не понятно почему если moc_* подключен в *.cpp то он должен исключаться(для qmake).
вот на prog.org та же проблема http://www.prog.org.ru/index.php?topic=12491.msg79906
наверное придётся править Qt Solutions избавлясь от шаблона pimpl.
Litkevich Yuriy
ты конфигурил библиотеку в виндовозе?
Должен был получится файл config.pri, с единственной строкой:
SOLUTIONS_LIBRARY = yes
только вот троли нигде это не упоминают.
Вообще мне qtstatemachine-1.1 крови по пил, но я добился того, чтобы он заработал.

Цитата(DEADHUNT @ 22.8.2010, 20:10) *
избавлясь от шаблона pimpl
внутреннние данные вообще ни как не влияют на включание moc_*.cpp, это троли ради упрощения делают, чтобы два файла не создавать.
DEADHUNT
Цитата(Litkevich Yuriy @ 22.8.2010, 17:44) *
ты конфигурил библиотеку в виндовозе?

просто скопировал исходники и всё, далее в pro подключаю *.inc.
в cmake эта проблема так решается:
qt4_wrap_cpp (moc_sources ${headers}) # <- из headers убираем *.h которые включаются в *.cpp как *.moc
qt4_automoc(${sources}) # <- когда находит в *.cpp #include "*.moc" вызывает moc
Litkevich Yuriy
Цитата(DEADHUNT @ 22.8.2010, 20:59) *
просто скопировал исходники и всё, далее в pro подключаю *.inc.
ну так ничего и не будет работать, во всяком случае у меня не работало
DEADHUNT
Цитата(Litkevich Yuriy @ 22.8.2010, 18:06) *
ну так ничего и не будет работать, во всяком случае у меня не работало

http://qt.nokia.com/products/appdev/add-on...s/qt-solutions:
Цитата
Components are directly compiled into your application. The package contains a .pri file that allows you to integrate the component into into programs that use qmake for the build step.

разве не говорит о том что достаточно включить *.pri в проект.
Litkevich Yuriy
Цитата(DEADHUNT @ 22.8.2010, 21:16) *
разве не говорит о том что достаточно включить *.pri в проект.
вроде да, но на практике нет. Там наверчено из-за лицензии, на условиях LGPL предлагается собрать DLL'ку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.