Невозможно построить квазип.компилятор moc не запускаетсяКомандная строка не находит соответствующих классов - PullRequest
0 голосов
/ 31 мая 2018

Я только что скачал последнюю версию quazip.Я использую Visual Studio 2012 и QT 5.1.

Требуются три файла moc.Проект визуальной студии, кажется, не создает их.Я не вижу компилятор moc, даже пытаясь.Я пытался собрать их из командной строки, но в итоге я получил пустые файлы.Затем компоновщик генерирует множество этих ошибок

ошибка LNK2001: неразрешенный внешний символ "public: static struct QMetaObject const QuaZipFile :: staticMetaObject" (? StaticMetaObject @ QuaZipFile @@ 2UQMetaObject @@ B)*

Это команда, которую я использовал для запуска компилятора moc (и аналогичная команда для двух других файлов):

C:\Tools64\v2.0.6\Qt-5.1.0\bin\moc -o moc_quazipfile.cpp quazipfile.cpp

эта команда генерирует следующую ошибку:

quazipfile.cpp (0): Примечание: соответствующие классы не найдены.Выходные данные не генерируются.

Я вижу определение Q_OBJECT в QuaZipFile, поэтому он должен был что-то найти.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Похоже, что предложение сделать "C: \ Tools64 \ v2.0.6 \ Qt-5.1.0 \ bin \ moc -o moc_quazipfile.cpp quazipfile.h", возможно, сработало.

Очевидно,проект Visual Studio, выпущенный с последним квазипом, не работает.

0 голосов
/ 01 июня 2018

Я не уверен, что вы должны запускать moc вручную ...

Вы уверены, что плагин / надстройка Qt для Visual Studio обновлен?

В качестве альтернативы, вы можете просто использоватьqmake для компиляции.

Run:

qmake quazip.pro

Это сгенерирует make-файлы в соответствии с вашими mkpecs Qt SDK.Если вы используете MSVC, он должен сгенерировать make-файл для nmake.

Затем просто введите

nmake -f Makefile 

в командной строке MSVC (в вашем меню должно быть несколько записей,в зависимости от архитектуры, для которой вы компилируете)

...