Инструменты Qt VS, генерирующие неправильную команду MOC - PullRequest
0 голосов
/ 04 июня 2019

Весь день я изо всех сил пытался отследить проблему с Qt VS Tools в Visual Studio 2013. Я пытаюсь обновить существующий файл .vcxproj, который использует собственный механизм для генерации MOC, UIC и т. Д. вместо файлов. использовать механизм Qt VS Tools.

Проблема, с которой я столкнулся, заключается в команде MOC, которая генерируется для файлов .h, которые содержат макрос Q_OBJECT. Пример строки (сокращённо для краткости) здесь:

  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  "-I$(QTDIR)\include\QtGui" "-I$(NOINHERIT)"</Command>

Проблема в том, что NOINHERIT не существует, поэтому "-I $ (NOINHERIT)" оценивается как "-I" без значения, а компилятор MOC жалуется и не генерирует файл MOC. Я пытался очистить унаследованные пути, проверяя и снимая флажок «Наследовать от родительских или проектных значений по умолчанию», и единственное изменение, которое я иногда вижу, состоит в том, что у него есть «-I» без макроса NOINHERIT.

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

Я использую последнюю версию Qt VS Tools, которая является версией 2.3.2. Любые идеи о том, как решить эту проблему?

1 Ответ

0 голосов
/ 04 июня 2019

Естественно, через пять минут после публикации я обнаружил проблему.У включенного файла свойств было это:

  <AdditionalIncludeDirectories></AdditionalIncludeDirectories>

Вместо этого, который решил проблему:

  <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

Интересно, и что бы это ни стоило, это не сработало:

  <AdditionalIncludeDirectories />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...