如何使 QtLinguist 随 Qt 5.9.1 一起工作?
How to make QtLinguist shipped with Qt 5.9.1 work?
目标: Generate/update 使用 lupdate.
的 Qt 小部件应用程序的 *.ts 文件
设置:
- Windows 7 Pro 64(也在 Windows 10 Home 上试过)
- 用于 msvc2017 64 位的 Qt 5.9.1 Prebult 组件,
- Visual Studio 社区 2017.
问题: 我有 运行 lupdate 来自 QtCreator,以及从控制台手动操作,但在这两种情况下都无法正常工作。消息是:
Starting external tool
"C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin\lupdate.exe"
C:/Documents/Projects/untitled1/untitled1.pro WARNING: Project ERROR:
Cannot run compiler 'cl'. Maybe you forgot to setup the environment?
"C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin\lupdate.exe" finished
否则项目被编译,运行并且调试没有问题,套件:Desktop Qt 5.9.1 MSVC2017 64bit(默认),这就是我认为环境设置正确的原因。
我找不到有关此问题的任何信息。有什么想法可以让 lupdate 工作吗?
编辑:我正在添加当前设置的屏幕截图(由 Qt 安装程序制作)以试图阐明我认为环境设置正确的原因:
套件
cmake 配置
在我的例子中,罪魁祸首是 Qt Creator 以某种方式为 C 和 C++ 选择了不同的目标 ABI:
修复此问题后,我设法 lupdate
运行 没有问题。
解决方法
这是我根据 n.m. 友情提供的信息和建议找到的解决方案(相当 hack-ish,但不是太多)在问题下的评论中:
创建一个translate.bat,单行内容如下:
"%programfiles(x86)%\Microsoft Visual Studio17\Community\VC\Auxiliary\Build\vcvars64.bat" & lupdate.exe %1
并将其放在 %{CurrentProject:QT_INSTALL_BINS}
下(在我的例子中是 C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin
)。确保 translate.bat 在您的机器上包含 vcvars64.bat 的正确路径。如果需要,您也可以放另一个版本的 vcvars。
在Qt CreatorselectTools/Options/Environment/External工具然后在语言学家类别下添加工具。将其命名为 Create/Update TS 文件。按如下方式设置此条目的字段:
可执行文件: %{CurrentProject:QT_INSTALL_BINS}\translate.bat
,
参数:%{CurrentProject:FilePath}
,
工作目录: %{CurrentProject:QT_INSTALL_BINS}
,
如此处所示:External Tools,然后应用更改并关闭 选项 window.
- 转到 Tools/External/Linguist, select Create/Update TS 文件 现在应该可以了照常工作。
背景
这里再次出现 link,由 n.m. 在评论中提供,作为此解决方案的基础。这里还有n.m.的解释:
Running lupdate from the console most definitely requires that you run
vcbars*.bat as described in the link I gave you. That's because
lupdate wants to run the compiler and it has no idea where to find it.
vcbars*.bat tweaks your PATH and other environment variables. In
theory the GUI should set up the environment for you, but in practice
it probably doesn't.
如果您使用的是mingw版本的Qt5.9.1,您可能需要配置mingw编译工具的系统路径。
您必须从 VS2015 x86 Native Tools Command Prompt
控制台 运行 lupdate.exe
。
目标: Generate/update 使用 lupdate.
的 Qt 小部件应用程序的 *.ts 文件设置:
- Windows 7 Pro 64(也在 Windows 10 Home 上试过)
- 用于 msvc2017 64 位的 Qt 5.9.1 Prebult 组件,
- Visual Studio 社区 2017.
问题: 我有 运行 lupdate 来自 QtCreator,以及从控制台手动操作,但在这两种情况下都无法正常工作。消息是:
Starting external tool "C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin\lupdate.exe" C:/Documents/Projects/untitled1/untitled1.pro WARNING: Project ERROR: Cannot run compiler 'cl'. Maybe you forgot to setup the environment?
"C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin\lupdate.exe" finished
否则项目被编译,运行并且调试没有问题,套件:Desktop Qt 5.9.1 MSVC2017 64bit(默认),这就是我认为环境设置正确的原因。
我找不到有关此问题的任何信息。有什么想法可以让 lupdate 工作吗?
编辑:我正在添加当前设置的屏幕截图(由 Qt 安装程序制作)以试图阐明我认为环境设置正确的原因:
套件
cmake 配置
在我的例子中,罪魁祸首是 Qt Creator 以某种方式为 C 和 C++ 选择了不同的目标 ABI:
修复此问题后,我设法 lupdate
运行 没有问题。
解决方法
这是我根据 n.m. 友情提供的信息和建议找到的解决方案(相当 hack-ish,但不是太多)在问题下的评论中:
创建一个translate.bat,单行内容如下:
"%programfiles(x86)%\Microsoft Visual Studio17\Community\VC\Auxiliary\Build\vcvars64.bat" & lupdate.exe %1
并将其放在 %{CurrentProject:QT_INSTALL_BINS}
下(在我的例子中是 C:\Qt\Qt5.9.1.9.1\msvc2017_64\bin
)。确保 translate.bat 在您的机器上包含 vcvars64.bat 的正确路径。如果需要,您也可以放另一个版本的 vcvars。
在Qt CreatorselectTools/Options/Environment/External工具然后在语言学家类别下添加工具。将其命名为 Create/Update TS 文件。按如下方式设置此条目的字段:
可执行文件:
%{CurrentProject:QT_INSTALL_BINS}\translate.bat
,参数:
%{CurrentProject:FilePath}
,工作目录:
%{CurrentProject:QT_INSTALL_BINS}
,
如此处所示:External Tools,然后应用更改并关闭 选项 window.
- 转到 Tools/External/Linguist, select Create/Update TS 文件 现在应该可以了照常工作。
背景
这里再次出现 link,由 n.m. 在评论中提供,作为此解决方案的基础。这里还有n.m.的解释:
Running lupdate from the console most definitely requires that you run vcbars*.bat as described in the link I gave you. That's because lupdate wants to run the compiler and it has no idea where to find it. vcbars*.bat tweaks your PATH and other environment variables. In theory the GUI should set up the environment for you, but in practice it probably doesn't.
如果您使用的是mingw版本的Qt5.9.1,您可能需要配置mingw编译工具的系统路径。
您必须从 VS2015 x86 Native Tools Command Prompt
控制台 运行 lupdate.exe
。