[Interest] Qt6 porting guidance: (MSDEV) QMAKE_CXXFLAGS += /source-charset

David M. Cotter dave at kjams.com
Fri Jul 9 03:19:26 CEST 2021


all my source code was originally written on mac in the late 90's early aughts. (of course more written since, but using same source file text encoding)

it's a monumental project, with localizations in about over half a dozen languages

all the source code, and therefore the in-line strings are "MacRoman" text encoding: strings have curly quotes, and ellipsis, and who knows what else non-ascii characters

this worked just fine up 'till Qt 5, the windows compiler would would just swallow the MacRoman strings and they would show up in the ui, properly localized (i use my own localization subsystem)

but with Qt6, the msdev compiler chokes on all my non-ascii strings.

come to find out Qt6 is passing "/source-charset:utf-8" to the compiler.
how did i find out? 

cuz i tried to explicitly pass "/source-charset:.10000" in my .pro file, like this:

> QMAKE_CXXFLAGS += /source-charset:.10000


but then i get an error saying this:
> cl : Command line error D8016 : '/source-charset:.10000' and '/utf-8' command-line options are incompatible


so what gives? has qt6 taken away my right to decide the encoding of my own files?

i have THOUSANDS of files. and if i change the strings, that is a very big cost relating to re-translating them for localization.

and no, before you suggest it, i can't convert the sources to utf8 encoding either, cuz that would break a lot of other stuff.

how do i fix this?

-dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20210708/a702934d/attachment.html>


More information about the Interest mailing list