8

proこれはファイル全体です:

message("This message should appeare only once!!!")
CONFIG += qt
SOURCES += src/main.cpp

qmake私は次の方法で呼び出します。

set QMAKESPEC=win32-msvc2008
set QTDIR=c:\Qt\4.8.4_vs2008\

call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
call "%QTDIR%\bin\qmake.exe" -tp vc Server.pro

そして、次の出力が得られます。

Microsoft Visual Studio 2008 x86 ツールを使用するための環境を設定します。

プロジェクト メッセージ: このメッセージは 1 回だけ表示されます!!!

プロジェクト メッセージ: このメッセージは 1 回だけ表示されます!!!

プロジェクト メッセージ: このメッセージは 1 回だけ表示されます!!!

メッセージが 3 回出力されたのはなぜですか?

4

4 に答える 4

13

実際には、条件「build_pass」は、qmake が初めて .pro ファイルを解析するときを除いて常に true であるため、次のように動作します。

!build_pass:message("This message should appear only once")

私のプロジェクトでうまく動作するヘルパー関数を作成しました。

defineTest(print) {
  !build_pass:message($$1)
}

print("This message should appear only once")
于 2013-10-01T14:39:25.157 に答える
0

この行を .pro ファイルに追加します

CONFIG -= debug_and_release debug_and_release_target 

qmake は Makefile を 1 つだけ生成し、.pro ファイルは 1 回だけ評価されます。

于 2013-07-12T14:01:32.443 に答える