March 29, 2012

ludde ludde
Ant Farmer
325 posts

Qt 4.8.1 on Windows CE

 

Have not been able to build Qt 4.8.0 with our Windows CE SDK and MSVC 2005, but was hoping for 4.8.1 to work better.
It doesn’t. It currently gets to the 3rd party library zlib, which it fails to compile with a bunch of similar errors, e.g.:

  1. c:\p4ws\balthazar\camera\apps\main\qt\4.8.1-bacx\include\qtcore\../../../4.8.1/s rc/corelib/kernel/qfunctions_wince.h(80) : error C2085: 'qt_wince_getenv_s' : not in formal parameter list
  2. c:\p4ws\balthazar\camera\apps\main\qt\4.8.1\src\3rdparty\zlib\gzguts.h(82) : error C2085: 'gzopen64' : not in formal parameter list

Has anyone else had this problem, and found a way to solve it?

5 replies

March 30, 2012

redkite redkite
Lab Rat
24 posts

I’m encountering the same issue, I’ll try to fix it by my self if I can.
Have you already found something?

My current configure command is :

  1. configure -release -opensource -fast -nomake examples -nomake demos -no-qt3support -no-webkit -no-phonon -no-dbus -no-script -no-scripttools -no-multimedia -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 -D QT_NO_DRAGANDDROP -D QT_NO_CLIPBOARD -D QT_NO_CURSOR

March 30, 2012

varunjajee varunjajee
Lab Rat
19 posts

Same issue.
I’m getting the following error.

  1. c:\qt\4_8_1\src\3rdparty\zlib\gzguts.h(82) : error C2085: 'gzopen64' : not in fo
  2. rmal parameter list
  3. c:\qt\4_8_1\src\3rdparty\zlib\gzguts.h(83) : error C2085: 'gzseek64' : not in fo
  4. rmal parameter list
  5. c:\qt\4_8_1\src\3rdparty\zlib\gzguts.h(84) : error C2085: 'gztell64' : not in fo
  6. rmal parameter list
  7. c:\qt\4_8_1\src\3rdparty\zlib\gzguts.h(85) : error C2085: 'gzoffset64' : not in
  8. formal parameter list

Used the following command.
  1. C:\Qt\4_8_1>configure -platform win32-msvc2005 -xplatform wince60cellnovo-armv4i-msvc2005  -stl -vcproj
  2.  
  3. C:\Qt\4_8_1>configure -platform win32-msvc2005 -xplatform wince60cellnovo-armv4i
  4. -msvc2005  -stl -vcproj

April 5, 2012

vjtech vjtech
Lab Rat
2 posts

Solved this issue.

Add following lines to 3dparty\zlib\gzguts.h :

  1. #define open qt_wince_open
  2. #define close qt_wince__close
  3. #define lseek qt_wince__lseek
  4. #define read qt_wince__read
  5. #define write qt_wince__write

Before
  1. #include <qglobal.h>
  2. #include <qfunctions_wince.h>

In corelib/kernel/qfunctions_wince.h change this
  1. #ifdef QT_BUILD_CORE_LIB
  2. QT_MODULE(Core)
  3. #endif

with following (add semicolon)
  1. #ifdef QT_BUILD_CORE_LIB
  2. QT_MODULE(Core);
  3. #endif

And remove Zlib specific section because it was just moved to gzguts.h
  1. #ifdef ZLIB_H
  2. #define open qt_wince_open
  3. #define close qt_wince__close
  4. #define lseek qt_wince__lseek
  5. #define read qt_wince__read
  6. #define write qt_wince__write
  7. #endif

Best of luck

April 10, 2012

redkite redkite
Lab Rat
24 posts

Thanks a lot for sharing the info!!!
It’s working like a charm now!

Any idea about what’s wrong with the QT_MODULE(Core); ?
In other files, they also don’t use a “;”

April 10, 2012

vjtech vjtech
Lab Rat
2 posts

No prob.

Unfortunately I have no idea why it did not compile w/o of semicolon.
It could be the problem with VS compiler or some kind of issue induced by other defines.

My primary target was to make it build ;-)

 
  ‹‹ Qt Script Error in Qt.OpenSource 4.8.1      Can I use different display_name for different languages? ››

You must log in to post a reply. Not a member yet? Register here!