目標:lupdateを使用して、Qtウィジェットアプリの* .tsファイルを生成/更新します。
設定:
問題:QtCreatorからlupdateを実行しましたが、コンソールから手動で実行しました。しかし、どちらの場合も機能していません。メッセージは次のとおりです。
外部ツール "C:\ Qt\Qt5.9.1\5.9.1\msvc2017_64\bin\lupdate.exe"を起動していますC:/Documents/Projects/untitled1/untitled1.pro警告:プロジェクトエラー:コンパイラ 'cl'を実行できません。たぶんあなたは環境をセットアップするのを忘れましたか?
「C:\ Qt\Qt5.9.1\5.9.1\msvc2017_64\bin\lupdate.exe」が終了しました
それ以外の場合、プロジェクトはキットで問題なくコンパイル、実行、デバッグされます:デスクトップQt 5.9.1 MSVC2017 64ビット(デフォルト)、これが環境だと思う理由です正しく設定されています。
この問題に関する情報が見つかりません。 lupdateを機能させる方法はありますか?
編集:環境が適切にセットアップされていると思う理由を明確にするために、現在のセットアップ(Qtインストーラーによって作成されたもの)のスクリーンショットを追加しています:
キット
cmake構成
解決策
これが私が見つけた解決策です(むしろハックっぽいですが、あまり多くはありません)、nmによって親切に提供された情報とアドバイスに基づいています質問の下のコメント:
次の1行のコンテンツでtranslate.batを作成します。
"%programfiles(x86)%\ Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"&lupdate.exe%1
%{CurrentProject:QT_INSTALL_BINS}
(私の場合はC:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin
)の下に置きます。 translate.batに、マシン上のvcvars64.batへの正しいパスが含まれていることを確認してください。必要に応じて、別のバージョンのvcvarsを配置することもできます。
Qt Creatorで、Tools/Options/Environment/External Toolsを選択し、次にAdd ToolLinguistカテゴリの下。 TSファイルの作成/更新のような名前を付けます。このエントリのフィールドを次のように設定します。
実行可能ファイル:%{CurrentProject:QT_INSTALL_BINS}\translate.bat
、
引数:%{CurrentProject:FilePath}
、
作業ディレクトリ:%{CurrentProject:QT_INSTALL_BINS}
、
ここに示すように: 外部ツール 次に、変更を適用してオプションウィンドウを閉じます。
背景
これもまた、コメントのn.m。によって提供される リンク であり、このソリューションのベースとして機能しました。これもn.m。の説明です:
コンソールからlupdateを実行するには、私が提供したリンクで説明されているように、vcbars * .batを実行する必要があります。これは、lupdateがコンパイラーを実行したいと考えており、どこにあるかわからないためです。 vcbars * .batは、PATHおよびその他の環境変数を微調整します。理論的にはGUIが環境を設定する必要がありますが、実際にはそうではない可能性があります。
lupdate.exe
コンソールからVS2015 x86 Native Tools Command Prompt
を実行する必要があります。