Что относительно того, чтобы использовать DataSet создал использование разработчика DataSet. Я помню назад в Былые времена (.NET 1.0 и 1.1), мы перетащили бы DataAdapter на поверхность для дизайна, определить Запрос Select, и Вставка, Запросы на обновление и Запросы на удаление были бы созданы для нас, на основе Запроса Select.
Похоже, вы пытаетесь использовать nmake
для сборки с MinGW. nmake
- это инструмент MSVC.
Если вы хотите выполнить сборку с MinGW, вы должны использовать mingw32-make
. Если вы хотите выполнить сборку с помощью MSVC, вы должны использовать Qt, созданный с помощью MSVC (что означает, что вы должны собрать его самостоятельно или иметь коммерческую лицензию).
Пробовали ли вы использовать компилятор / инструменты, включенные в Qt, в / mingw / bin? (В моей системе Qt установлен в C: \ Qt \ 2009.03.) В прошлый раз, когда я проверял, некоммерческий дистрибутив Qt не будет работать с Visual Studio. Я просто попробовал это из командной строки Qt, и это сработало.
qmake -project "CONFIG += qtestlib"
qmake
mingw32-make
Надеюсь, это поможет.
А вы уверены, что moc не сгенерирован? Он находится в каталоге Debug, поэтому вам потребуется либо #include "Debug / teststring.moc", либо #include с дополнительной опцией компилятора -IDebug.
У меня была проблема в том, что moc.exe не генерировал никаких moc-файлов с помощью nmake. Причина - неправильный путь к moc.exe внутри Makefile.Debug.
Что-то вроде:
C: /Qt/2009.03/qt/bin \ moc.exe
Я меняю его на:
C : \ Qt \ 2009.03 \ qt \ bin \ moc.exe
, и теперь он работает. ;)
К сожалению, qmake будет генерировать make-файлы каждый раз, когда вы запускаете его из меню или перестраиваете / очищаете решение / проект. Я думаю, что это ошибка конфигурации qmake.
Чтобы исправить это навсегда, вам нужно найти файл C: \ MyQtDir \ mkspecs \ win32-msvc2008 \ qmake.conf. Для других конфигураций вам нужно изменить win32-msvc2008.
Для меня это было в C: \ Qt \ 2009.03 \ qt \ mkspecs \ win32-msvc2008 \ qmake.conf
Найдите фразу «QMAKE_MOC». Вы найдете несколько таких строк:
QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
QT_INSTALL_BINS - это путь, который кажется неправильным. Разделителями каталогов по-прежнему является '/', но должен быть '\'. На данный момент я точно не знаю, где мне нужно изменить QT_INSTALL_BINS. Но путь qt для меня не изменится, поэтому я заменил макрос на жестко определенные пути:
QMAKE_MOC = C:\Qt\2009.03\qt\bin\moc.exe
QMAKE_UIC = C:\Qt\2009.03\qt\bin\uic.exe
QMAKE_IDC = C:\Qt\2009.03\qt\bin\idc.exe
Теперь проблем с moc больше нет. Восстановления тоже будут работать.
Надеюсь, это поможет;)
В случае, если вы еще компилируете с помощью VC nmake, есть обходной путь для этой ошибки здесь: http://bugreports.qt-project.org/browse/QTBUG-6470