9

VisualStudioを使用してqmakeいます。リリースビルドでは、qmakeはすべてのプロジェクトに/GLフラグと/O2フラグを追加し、Qtプロジェクト全体の特定のライブラリのこれら2つのフラグを削除する必要があります。方法はありますか?

4

7 に答える 7

10

同様の問題が発生し、.proファイルに次のディレクティブを追加することで解決しました。

QMAKE_CXXFLAGS_RELEASE-= -g

_RELEASEサフィックスを確認してください。そうでない場合は、機能しません。

于 2013-03-18T17:01:42.973 に答える
5

これを使って.proファイルを編集しましたが、うまくいきました!

QMAKE_CXXFLAGS_RELEASE  -= -Zc:strictStrings
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings

それは動作しません:

QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings

あなたが試すことができます:

QMAKE_CXXFLAGS_RELEASE  -= -GL -O2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -GL -O2

見てみましょう:

Qt dir \compiler \ mkspecs \ win32-msvc2013 \ qmake.conf

于 2015-01-28T20:23:57.077 に答える
3

これが機能する唯一の方法は

QMAKE_CFLAGS -= /GL /O2

しかし、これがうまくいくとは思えませんQMAKE_CFLAGS

QMAKE_CFLAGSまたは、以前の値を忘れて、を再定義することもできます。

QMAKE_CFLAGS = $$CFLAGS_WITHOUT_GL_O2
于 2011-11-23T11:43:29.200 に答える
1

構成で使用されるqma​​kespecを編集できます。

それを見つける最も簡単な方法は、開くことです

%QTDIR%\mkspecs\%QMAKESPEC%

環境変数が設定されていると仮定します(設定されている必要があります)

動作しない場合に備えて、次のようになりますC:\Qt\4.x.x\mkspecs\win32-msvc2010

qmake.confファイルでは、次の2行を調整できます(ファイル内の異なる場所にあります)

QMAKE_CFLAGS_RELEASE    = -O2 -MT
QMAKE_CFLAGS_LTCG       = -GL

QMAKE_CFLAGS_RELEASE    = -MT
QMAKE_CFLAGS_LTCG       =

ただし、使用しているすべてのQtバージョンに対してこれを実行する必要があることに注意してください(将来の更新ごとに実行します)。

[編集]
特定のプロジェクトに-O2-GLオプションが必要な場合は、追加する必要があります

QMAKE_CFLAGS_RELEASE    += -O2
QMAKE_CFLAGS_LTCG       += -GL

これらのオプションを必要とするプロジェクトの.proファイルに。

それを使用するプロジェクトと使用しないプロジェクトの量に応じて、このアプローチまたはQMAKE_CFLAGSの再定義のいずれかがより便利になります。

于 2011-11-23T12:03:00.873 に答える
1

-=動作しない場合

.proファイルで試してください

QMAKE_CFLAGS = $$replace(QMAKE_CFLAGS, "-GL ", "")
QMAKE_CFLAGS = $$replace(QMAKE_CFLAGS, "-O2 ", "")
于 2019-04-23T10:37:16.883 に答える
0

最近、私は同じ問題に直面しました。Zc:strictStringsコンパイラフラグを削除する必要がありました。削除するだけではうまくいかないことをすぐに知りました。したがって、解決策は、この文字列を.proファイルに含めることによってフラグをオーバーライドすることです。

QMAKE_CXXFLAGS+=-Zc:strictStrings-

このように、コンパイラは警告を出力します。cl:コマンドライン警告D9025:'/ Zc:strictStrings'を'/ Zc:strictStrings-'でオーバーライドしますが、それでも機能します。

于 2019-10-16T13:40:45.580 に答える
-1

私のために働いたのは、.proファイルに以下を追加することでした:

QMAKE_CXXFLAGS -= -Zc:strictStrings
于 2019-12-03T14:32:06.853 に答える