[Development] Any C++11-capable compiler for Windows CE?

Gunnar Roth gunnar.roth at gmx.de
Sun Aug 3 00:02:22 CEST 2014


Hi,
i would like to add some information to this topic.

"Now updated to support both Visual Studio 2013 and Visual Studio 2012, „
just means that you can use the IDE for developing , but the compiler used for compiling
is still the compiler from you device sdks. In wec2013 MS started to put the compiler into the sdks in contrast  to  wec 7 and before, where  the compiler from visual studio was used. 2008 for wec 7 and ce6, vs 2005 for ce 5. Before this there was a thing called eve, bu this leads to far ;-)  For wec 7 there was a trick from adeneo to use the compiler from platform builder , which has the advantage over vs2008 to be able to generate  armv6 and armv7 code.
The compiler in a wec 2013  sdk, is an older version of the vs2012 compiler. It was recently updated by MS with the June update to fix some internal compiler error we happen to face when building webkit from qt 4.8.5.But the version number of l.exe ist still lower.  This internal error was a problem with inlining we could workaround with force noinline. The statement MS gave us concerning the compiler was that they will not update the compiler to any newer version, because of heavy impact on testing. One ce version will stay with a compiler version forever.
Actually we managed to use the vs2013 compiler to build ffmpeg ( because of the c99 features only vs2013 compiler supports) for wec2013 as we did use CeGCC 0.59.1 based on gcc4.4 for this on ce 6 but this old compiler cannot generate the new EABI + THUMB2 CODE which is needed for Wec2013. We did not try with C++ code yet, but that would also not give full advanced c++11 features because we still have to use the stl etc. from  the wec2013 sdks, which is of course different from the stl in vs2013 for winrt. which would be the only other arm platform.

Forcing MS to support c+11 for wec 7 is hopeless, i assure you.

Right now qt 4 support ce 5, ce 6 and ce 7. We did our own port to wec2013, which was not too hard to do. Most of things are removing ce combat layer stuff, as wec2013 as a much more complete c-runtime, which is now clashing with the ce compat functions.

I also did a port of qt 5.3.1 to wec 2013, but this was a lot harder to do for several reasons, having about 13 patches and a need to modify the standard wec2013 image ( adding dnsapi and shellsdk and copying some headers from ce  6 to satisfy qt)
I even managed to support ce 6 in qt 5.3.1 with some small additional patches ( but no support for qmL and quick 2, only quick1)


Regards,
Gunnar



> Am 02.08.2014 um 18:17 schrieb Thiago Macieira <thiago.macieira at intel.com>:
> 
> On Thursday 31 July 2014 08:17:34 Andreas Holzammer wrote:
>> yes in recent Windows CE Versions either the Visual Studio 2012 or
>> Visual Studio 2013[1] compiler is beeing used, which have some C++11
>> features. But yes this applies to Windows Embedded 2013 and above,
>> most systems which are used nowerdays use Windows Embedded Compact 7
>> which just has the Visual Studio 2008 compiler. To be honest I did not
>> had yet a Windows Embedded Compact 2013 hardware in my hands, so this
>> is more a question in dropping support for Windows Embedded Compact 7,
>> and I think that would be too early.
> 
> Thanks for the answer. It's not what I'd would have preferred to hear, but 
> it's an answer alright.
> 
> Note: we are allowed to add C++11-only features, so long as Qt continues to 
> build. For example, the new QThread::makeThread will most likely require 
> lambdas and std::function.
> 
> In fact, I encourage people to add new, convenience API that is C++11 only. 
> Like Marc says, "C++98 costs more" and we want people to force their vendors 
> to provide support.
> -- 
> Thiago Macieira - thiago.macieira (AT) intel.com
>  Software Architect - Intel Open Source Technology Center
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development




More information about the Development mailing list