2013-03-07 59 views
5

我使用的是使用SUBDIRS模板的Qt .pro文件(主要在this answer之後)。QMake SUBDIRS項目:如何從頂層Makefile調用release-clean?

此外,我使用qmake -recursive MyProject.pronmake Release來構建我的解決方案。

現在我想提供一個單獨的批處理文件來清理髮布輸出和元文件(不是調試的文件)。

的問題是,對於頂層Makefile,僅cleandistcleanqmake產生而對於子目錄,也有release-cleandebug-clean(也是文件夾包含一個額外的Makefile.DebugMakefile.Release)。

我想要做的就是調用

nmake Makefile release-clean 
從批處理腳本

什麼。但是,頂級makefile不包含此配置。

現在我可以手動調用每個子項目的平等線,但這顯然是我最不喜歡的選項。

有沒有辦法讓qmake爲頂層makefile生成release-clean目標,還是有另一種方法來簡單地清理髮布文件?

PS:我使用NMAKE,所以是的,我在Windows(XP),並使用MSVC(2008)

回答

2

以下批處理腳本做這項工作:

REM set up environment 
SET VISUALDIR=C:\PROGRA~1\MICROS~1.0 
PUSHD %VISUALDIR%\VC 
CALL vcvarsall.bat x86 
POPD 

REM clean solution 
msbuild yoursolution.sln /p:Configuration=Release /t:clean 

REM and you may want to add a build command : 
msbuild yoursolution.sln /p:Configuration=Release 
+0

這是真的,如果你有一個VS解決方案,但是我只是在'.pro'文件中使用'qmake',然後''nmake'。我可以添加'qmake -tp vc -recursive xxxx.pro'來生成sln,然後按照你的建議進行編譯。 – 2013-03-26 11:42:13

+0

@TimMeyer哦,好的。的確我假設你正在使用一個可視化解決方案。 – azf 2013-03-26 12:18:07

相關問題