我正在使用QtCreator和Inno设置来创建支持英语,日语和许多其他语言的国际安装程序
在我进入项目之前采取的方法是在构建过程中使用构建变量和echo命令动态创建Inno设置脚本,即:
在Qt .PRI文件中
system(echo <some ISS command here> >> myfile)
这适用于标准文本,例如
system(echo if IsWin64 then >> $$ISS)
system(echo begin >> $$ISS)
system(echo HKey := \'Wow6432Node\'; >> $$ISS)
system(echo end >> $$ISS)
在ISS文件中创建
if IsWin64 then
begin
HKey := 'Wow6432Node';
end
但是我们现在也想在脚本文件中写一些外语文本来发出警告信息,例如
system(echo alreadyInstalledMessage := \'La version XYZ est déjà installée.\'; >> $$ISS)
这应该作为
出现在.ISS文件中alreadyInstalledMessage := 'La version XYZ est déjà installée.';
但它出现了
alreadyInstalledMessage := 'La version XYZ est d‚j… install‚e.';
我猜这是字符编码,但无法在echo命令或QMake上找到任何东西来让它做我想做的事情。
任何人都知道神奇的符文是什么让文本从.PRI文件传递到保存所有字符的.ISS文件。或者有更好的方法吗?
答案 0 :(得分:0)
不幸的是,Qt 4 qmake无法实现这一点。
但是,你可以使用Qt 5的'log'qmake函数来满足你的需要。这只是为了您的方便,因为qmake无法完成您在此处尝试实现的目标。
它也是冻结的功能,因此很可能没有向后移植任何有用的功能。
您需要重申您的项目,并以不同的方式解决此问题。