Спокойный moc.exe, не генерирующий *.moc файл

Что относительно того, чтобы использовать DataSet создал использование разработчика DataSet. Я помню назад в Былые времена (.NET 1.0 и 1.1), мы перетащили бы DataAdapter на поверхность для дизайна, определить Запрос Select, и Вставка, Запросы на обновление и Запросы на удаление были бы созданы для нас, на основе Запроса Select.

5
задан ymoreau 22 August 2017 в 13:34
поделиться

5 ответов

Похоже, вы пытаетесь использовать nmake для сборки с MinGW. nmake - это инструмент MSVC.

Если вы хотите выполнить сборку с MinGW, вы должны использовать mingw32-make . Если вы хотите выполнить сборку с помощью MSVC, вы должны использовать Qt, созданный с помощью MSVC (что означает, что вы должны собрать его самостоятельно или иметь коммерческую лицензию).

4
ответ дан 14 December 2019 в 08:56
поделиться

Пробовали ли вы использовать компилятор / инструменты, включенные в Qt, в / mingw / bin? (В моей системе Qt установлен в C: \ Qt \ 2009.03.) В прошлый раз, когда я проверял, некоммерческий дистрибутив Qt не будет работать с Visual Studio. Я просто попробовал это из командной строки Qt, и это сработало.

qmake -project "CONFIG += qtestlib"

qmake

mingw32-make

Надеюсь, это поможет.

1
ответ дан 14 December 2019 в 08:56
поделиться

А вы уверены, что moc не сгенерирован? Он находится в каталоге Debug, поэтому вам потребуется либо #include "Debug / teststring.moc", либо #include с дополнительной опцией компилятора -IDebug.

0
ответ дан 14 December 2019 в 08:56
поделиться

У меня была проблема в том, что 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 больше нет. Восстановления тоже будут работать.

Надеюсь, это поможет;)

2
ответ дан 14 December 2019 в 08:56
поделиться

В случае, если вы еще компилируете с помощью VC nmake, есть обходной путь для этой ошибки здесь: http://bugreports.qt-project.org/browse/QTBUG-6470

0
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: