sco*_*nov 12 windows qt qt-creator visual-studio-2017 qt5.9
目标:使用lupdate生成/更新Qt小部件应用程序的*.ts文件.
建立:
问题:我已经运行lupdate从QtCreator,以及手动从控制台,但在两种情况下其工作正常.消息是:
启动外部工具"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在问题评论中提供的信息和建议:
使用以下单行内容创建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中,选择工具/选项/环境/外部工具,然后选择Linguist类别下的添加工具.将其命名为Create/Update TS files.设置此条目的字段,如下所示:
可执行文件:%{CurrentProject:QT_INSTALL_BINS}\translate.bat,
参数:%{CurrentProject:FilePath},
工作目录:%{CurrentProject:QT_INSTALL_BINS},
如下所示:外部工具,然后应用更改并关闭" 选项"窗口.
的背景
这里再次提供了由评论中的nm提供的链接,该链接是此解决方案的基础.这也是nm的解释:
从控制台运行lupdate绝对要求你运行vcbars*.bat,如我给你的链接中所述.那是因为lupdate想要运行编译器,它不知道在哪里找到它.vcbars*.bat会调整您的PATH和其他环境变量.从理论上讲,GUI应该为您设置环境,但实际上它可能没有.