2016-11-29 69 views
0

我必须标记一些用于国际化的.xml文件。我不会手动CMD使用lupdate,而不是我把它放在项目的.pro文件,如:.pro文件问题中的Qt lupdate

lupdate_only{ 
SOURCES += $$EXTRA_XML 
} 

上面的代码工作得很好,但是当你发现我不得不把XML文件的来源。因此,.xml文件出现在左侧Projects'透视窗口的虚拟文件夹中,位于.cpp文件旁边。我觉得这个解决方案有点令人讨厌和困惑。

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

是否有使用lupdate的方式,在的.pro,在不同的文件,这些文件将不会出现在源文件夹?谢谢!

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似乎是编译器的条件语句,但我认为问题在于解析.pro文件并解释SOURCES变量的Qt Creator –

+0

在这种情况下,我能想到的唯一另一种可能的解决方案是,您创建一个单独的.pro文件,其中只包含lupdate_only {...}和xml文件。然后,您将需要运行在命令行自己lupdate,而Qt Creator的作品,其所有的C++头文件和源的其他.pro文件。 – ManuelH

+0

这几乎是同样的事情,从运行CMD的lupdate,但是你的反应给了我的想法,移动lupdate到.pri文件,而不是它的工作原理是需要的话,谢谢 –