2014-02-06 91 views
0

有沒有辦法強制重新編譯其他項目文件moc?我使用Visual Studio,和我有一個QT間期項目中,我添加了其他項目的類接口和信號/插槽(讓說thing.cppthing.h添加Qt moc文件到項目

ui_thing.h(已被列入generated files文件夾),

moc_thing.cppgenerated files\debug(因爲主要項目是在調試模式下),

thing.uiForm files

這是工作確定,直到我決定做了一些修改,添加一些槽/信號的東西。 正如你可以猜測包括moc文件不重新編譯。我決定改變thing.h的一些屬性。

我複製參數從主項目文件那麼 在命令行部分有

"$(QTDIR)\bin\moc.exe" "$(InputPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQWT3D_DLL -DQT_DLL -DQT_SVG_LIB -DQT_SCRIPT_LIB -DQT_MULTIMEDIA_LIB "-I.\parsers" "-I$(QWTDIR)\include" "-I.\ProductionHistory\GeneratedFiles" "-I.\ProductionHistory" "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtGui" "-I." "-I$(Boost)\." "-I.\well groups widget" "-I.\rules widget" "-I.\gui" "-I$(QTDIR)\include\QtSvg" "-I$(QTDIR)\include\QtScript" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtMultimedia"

在輸出數據部分".\databaseOpening\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"

在附加的依賴部分有 "$(QTDIR)\bin\moc.exe"; $(InputPath)

但它仍然沒有重新編譯。有辦法解決這個問題嗎?

+1

如果什麼額外的依賴這樣做:' 「$(QTDIR)\ BIN \ moc.exe」; $(InputPath)'?請注意,值之間有一個**半列**,而不是空格。 – vahancho

+0

@vahancho好了,似乎沒有幫助,但thx我編輯的問題 – DanilGholtsman

+0

你可以使用Qt Visual Studio插件 –

回答

1

嘗試檢查/修復項目文件* .vcxproj

  1. 添加的PropertyGroup標籤= 「全局」 第關鍵字
<PropertyGroup Label="Globals"> 
    <ProjectGuid>.... 
    <RootNamespace>... 
    <Keyword>Qt4VSv1.0</Keyword> <----------------- 
</PropertyGroup> 
  • 檢查ProjectExtensions/VisualStudio/UserProperties部分的屬性Qt 5Version_x0020_Win32(>>QT5 ...
  • <ProjectExtensions> 
        <VisualStudio> 
         <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" 
         Qt5Version_x0020_Win32="$(DefaultQtVersion)" <------- 
         UicDir=".\GeneratedFiles" /> 
        </VisualStudio> 
        </ProjectExtensions> 
    
    +0

    hello there :)自從我上次在C++/Qt中編寫代碼以來已經有4年了,但是感謝您的回答 – DanilGholtsman

    +0

    Unfortunatley我沒有機會檢查它,這是該項目來自我的第一份工作 – DanilGholtsman