5

分散コンパイラを使用しており、 、および に追加する必要があり-m64ます。通常、.bashrc の私の定義は問題ありませんが、qmake は何らかの理由でそれらを無視します。これを行う標準的な方法は、.pro ファイルを編集することのようですが、明らかにアーキテクチャをハードコーディングしたくありません。したがって、 .pro ファイルを編集することはできますが、ハードコードすることはできません。CFLAGSCXXFLAGSLDFLAGS

CXXFLAGS を次のように設定してみました:

QMAKE_CXXFLAGS += $(CFLAGS)

しかし、それは言います:

Makefile:17: *再帰変数 `CXXFLAGS' が (最終的に) 自分自身を参照します。止まる。

4

1 に答える 1

10

質問を投稿する直前にこれを理解しましたが、他の誰もこれに対する良い答えを持っていないので、とにかく投稿することにしました。

必要だったのは$(ENV_VAR)ではなく だったので、これらをファイル$$(ENV_VAR)に追加しました。.pro

QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
QMAKE_LFLAGS += $$(LDFLAGS)

これにより、qmake はこれらの環境変数を尊重します。qmake はLFLAGSの代わりに使用することに注意してくださいLDFLAGS

qmake環境変数をインテリジェントに処理するのではなく、環境変数を変更するために再実行する必要があるため、これはまだ理想的ではありませんがmake、毎回 .pro ファイルを編集する必要があるよりは間違いなく優れています。

于 2013-07-10T18:24:16.510 に答える