mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] Producing "Unicode certified" windows executa


From: Gilles Caulier
Subject: Re: [Mingw-cross-env-list] Producing "Unicode certified" windows executable (.exe) programs with MXE?
Date: Mon, 26 Dec 2016 23:13:56 +0100

I'm also interrested by this feature, if it's exists.

We compile here with MXE (32 or 64 bits):

Qt5
QtAV
OpenCV
Exiv2
KF5 framework
digiKam (1.2M code lines)

digiKam need also to support unicode encoding with file name. Please some guidance will welcome.

Thanks in advance and happy new year...

Gilles Caulier

2016-12-26 22:44 GMT+01:00 Nicolas Brouard <address@hidden>:
Hi,

I am new on this list as well on MXE.

I am trying to compile softwares which uses QT 4 to be compiled. It compiled successfully on Linux with qmake by adding the libraries required.
On OS/X, it can also be compiled by adding the required libraries with ‘brew’.

Both programs either on Linux or OS/X can display and manage Unicoded filenames (in Chinese, Japanese, Thai, Arabic, cyrillic etc). The program displays a list of the files of a directory and we can obviously certify that their names are displayed correctly or not.

The next step was to get a working program on Windows. Let say Windows 10 in order to have more chances to get "unicode-certified" softwares.

I found MXE by chance (no entry on Wikipedia) and installed the default install on Linux (on /opt/MXE). After some hours and some gigabytes used, I successfully installed MXE. The advantage of MXE is clearly to get various GPL libraries to be installed on Windows suppressing the tedious work of compiling them.

I did not find the documentation required for installing successfully the program and used MXE as if it was a new library.
I wrote a src/foo.mk file, got a pkg/foo.tar.gz with the correct checksum, added its name in doc/index.html, changed the PATH to include MXE binaries and
cd /opt/mxe; make foo
The standard MXE installed on my Linux is i686-w64-mingw32-static

It compiled successfully and I got foo.exe

foo.exe runs well on Windows (any) but unfortunately it is not able to display correctly the unicoded filenames.The same list of files is displayed correctly from the Microsft windows explorer (WIndows 10 or 7) but not using my foo.exe program.
I tried to compile (successfully) with qt5 instead of qt(4) (by just adding 5 (after qt) in '$(PREFIX)/$(TARGET)/qt5/bin/qmake’ foo.pro). But the unicode problem still remains.

It seems that the problem comes from the mingw compiler.

Did you encounter this problem? Can I add some “-municode" or “-Dunicode" parameters in a Makefile?
Should I change the toolchain to some ming64 compiler?

Any hint is welcome.



--
N. Brouard






reply via email to

[Prev in Thread] Current Thread [Next in Thread]