2012-08-14 79 views
0

我的自定义下建立使用Q_OBJECT每头文件的属性:Visual Studio 2005中的自定义生成Qt的

Command Line: $(THIRDPARTY_DIR)\qt\4.7.0\win32-vc10\bin\moc.exe $(InputFileName) -o moc\$(ConfigurationName)\moc_$(InputName).cpp 
Description: ################### moc'ing $(InputFileName) 
Outputs: moc\$(ConfigurationName)\moc_$(InputName).cpp 

这会产生必要的MOC文件。我现在想要让Visual Studio编译并链接到我的其他源文件。目前我在任何文件中使用 #include "moc\{Release OR Debug}\moc_Whatever.cpp"#语句强制编译和链接。显然我必须不断改变我的#include根据调试或发布构建(我不能丢弃$(ConfiguarationName)在上面的moc文件生成的原因)。另外我不喜欢为了编译和链接的目的而在源文件中编写这个#include的想法。

是否有任何构建步骤属性中的任何地方,我可以提到将来会生成什么文件,并且在它们可用时编译和链接它们(VS2005)?

(我不能使用QtPlugin现在)

回答

0

您只需将这些文件添加到项目中,我的项目结构通常看起来像这样(在Visual Studio解决方案资源管理器):

Solution 
    | 
    +- Project1 
      | 
      +- Generated Files 
      +- Header Files 
      +- Source Files 

在生成的文件,我将这两个参考,调试和发布moc_xxx.cpp和qrc_xxx.cpp文件包含在内。对于调试文件,您需要为发布引用设置“从生成排除”为true,反之亦然。

这与插件所做的几乎相同。

+0

谢谢!只是还有一个问题:我必须首先构建能够给出链接器错误的项目,但到那时moc文件已经生成。然后我在我创建的'GeneratedFiles'过滤器中添加现有项目,然后重新运行构建过程以便成功构建。对于moc'ing我使用VS变量像'$(InputFileName)'等,所以我只是复制粘贴自定义构建从一个'.h'文件到另一个。有没有一个过程来自动生成的moc文件的编译和链接,而不是像我在做的那样手动添加它们? – ustulation 2012-08-16 06:44:59

+0

其实这正是插件的功能!你为什么不能使用它? – Jens 2012-08-16 12:05:40

相关问题