3

Qt Creator 3.4.2 for Windows と MSVC2013 コンパイラを使用しています。プロジェクトをビルドすると、エラーが発生します。

LNK1158: cannot run 'rc.exe'

追加することでなんとか修正できました

"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin"

下のPATH変数に

Projects -> Build Environment

しかし、.pro ファイルを編集して PATH 変数を変更する必要があります。これにより、すべてのパスが .pro ファイルに保存されるため、別のコンピューターでプロジェクトを開いてビルドすることが容易になります。この解決策は機能しません:

PATH += "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin"

それはまったく可能ですか?

4

1 に答える 1

2

Qt Creator は MSVC コンパイラを検出し、適切な環境でプロジェクトをビルドする必要があるため、このようなエラーが発生するのは奇妙です。Qt Creator は、たとえば、VS コマンド プロンプト コンソールの環境を準備するために必要なバッチ ファイルを実行する必要があることを認識しています。C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat x86


とにかく、実際のプロジェクトのコンパイルの前に、任意のカスタム シェル コマンドを実行する Makefile を作成するqmakeプロジェクト ファイル ( ) を作成することができます。ファイルを処理.proすると、Makefile のみが作成されます。その後、コンパイルは別の make ビルド ツールによって行われます。Qt Creator はそのmake ユーティリティを使用します。VS コンソールから実行できます。qmake.projomnmake

Make ユーティリティは、Makefile ルールで指定されたさまざまなツールを実行します。PATH変数を設定するビルド コマンドを使用して、追加の偽のターゲットを作成することができます。メイン ターゲットは、このターゲットに依存する必要があります。

ファイル内の次の行は、その.proようなルールを作成します。

QMAKE_EXTRA_TARGETS += customtarget1

customtarget1.target = dummy
customtarget1.commands = set PATH=C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin;$(PATH)

PRE_TARGETDEPS += dummy

したがって、Makefile の処理中の最初のターゲットはdummy. その「ビルド」コマンド セットPATH. 次に、他のすべてのツールがその環境で実行されます。

于 2015-11-01T23:31:40.893 に答える