2016-11-29 11 views
0

Мне пришлось отметить некоторые из XML-файлов для интернационализации. Я не использую LUPDATE вручную из ЦМД, вместо этого я положил его в файл .pro проекта как:Qt lupdate in .pro file issue

lupdate_only{ 
SOURCES += $$EXTRA_XML 
} 

Приведенный выше код работает просто отлично, но, как вы заметили, что я должен был поместить файлы XML в ИСТОЧНИКОВ. Как следствие, файлы .xml отображаются в виртуальной папке «Источники» из левого окна перспективных проектов, рядом с файлами .cpp. Я нахожу это решение немного неприятным и запутанным.

- Project 
- - Headers 
- - Sources 
- - - main.cpp 
- - - some.xml //not wanted here 

Есть ли способ использовать LUPDATE, в .pro, на различные файлы таким образом, что эти файлы не будут отображаться в папке Sources? Благодаря!

UPDATE Я использую Qt Creator 4.0.3

ответ

0

Я нашел решение своей проблемы, однако я думаю, что это ошибка Qt Creator. Я просто переместил оператор lupdate с его содержимым в .pri-файл, и теперь xml-файлы не отображаются в виртуальной папке Sources. (файл .pri включен в .pro)

+0

Рад, что вы нашли приемлемое решение, у меня не было подумал об использовании .pri – ManuelH

1
lupdate_only { 
    SOURCES += $$EXTRA_XML 
} 

С помощью этого условного оператора, LUPDATE инструмент видит .qml файлы, но QMAKE будет игнорировать его.

+0

lupdate_only представляется условным выражением для компилятора, но я думаю, что проблема связана с Qt Creator, который анализирует файлы .pro и интерпретирует переменную SOURCES –

+0

В этом случае , единственное возможное решение, о котором я могу думать, заключается в том, что вы создаете отдельный файл .pro, содержащий только файлы lupdate_only {...} и xml. Затем вам нужно запустить lupdate из командной строки самостоятельно, в то время как Qt Creator работает с другим .pro-файлом, содержащим все заголовки и источники C++. – ManuelH

+0

Это почти то же самое, что и запуск lupdate из cmd, однако ваш ответ дал мне идею переместить lupdate в .pri-файл, а не он работает по желанию, так что спасибо –