Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#16 FreeImage in WinCE

open
nobody
None
5
2012-10-31
2005-06-16
wsxcv123
No

I can use the FreeImage with my visual c++. But i don't
know how to use it on WinCE. I can't not get it work.
Can someone help me? I need FreeImage for converting
bmp tp png. Is there any solution to this?

Thank you

Herman

Discussion

  • rzr
    rzr
    2005-11-21

    Logged In: YES
    user_id=95924

    I have tried to compile it under msvc-8.0b2

    Version : FreeImage380.zip


    On Win32 I Had to edit :

    h:\src\FreeImage\Source\Metadata\TagConversion.cpp : L 379

    long apexPower = (double)pow((double)2, (int) apexValue);


    On Windows Mobile 5.0 PPC :

    1>Resize.cpp
    1>C:\Program Files\Microsoft Visual Studio
    8\VC\ce\include\crtdefs.h(86) : fatal error C1189: #error :
    ERROR: Use of C runtime library internal header file.

    Can someone make a decent makefile project for msvc-8 ?

     
  • rzr
    rzr
    2005-11-21

    Logged In: YES
    user_id=95924

    I added to preprocessor
    WIN32_WCE;DEBUG;THUMB;_THUMB;ARMV4T;UNDER_CE=$(CEVER);WIN32_WCE=$(CEVER);ARM;_ARM;$(CePlatform)

    Previous error can be fixed in FreeImage.h

    ifdef UNDER_CE

    include <windef.h>

    else

    typedef long BOOL;

    endif

    beside there are flags to unactive in config.h files

    Then I am stuck on those errors (see below) ...
    I'll may provide a patch If needed ...

    but not now I drop msvc for today :-)

    1>------ Build started: Project: FreeImageLib,
    Configuration: Debug Windows Mobile 5.0 Pocket PC SDK
    (ARMV4I) ------
    1>Compiling...
    1>XTIFF.cpp
    1>..\FreeImage.h(150) : error C2011: 'tagRGBQUAD' : 'struct'
    type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(291) : see
    declaration of 'tagRGBQUAD'
    1>..\FreeImage.h(163) : error C2011: 'tagRGBTRIPLE' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(384) : see
    declaration of 'tagRGBTRIPLE'
    1>..\FreeImage.h(181) : error C2011: 'tagBITMAPINFOHEADER' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(308) : see
    declaration of 'tagBITMAPINFOHEADER'
    1>..\FreeImage.h(195) : error C2011: 'tagBITMAPINFO' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(322) : see
    declaration of 'tagBITMAPINFO'
    1>MultiPage.cpp
    1>..\FreeImage\MultiPage.cpp(185) : error C2664:
    'std::list<_Ty>::iterator::iterator(const
    std::list<_Ty>::iterator &)' : cannot convert parameter 1
    from 'int' to 'const std::list<_Ty>::iterator &'
    1> with
    1> _Ty=BlockTypeS * 1>">
    1> _Ty=BlockTypeS *
    1>


    1> Reason: cannot convert from 'int' to 'const
    std::list<_Ty>::iterator'
    1> with
    1> _Ty=BlockTypeS * 1>">
    1> _Ty=BlockTypeS *
    1>


    1> No constructor could take the source type, or
    constructor overload resolution was ambiguous
    1>..\FreeImage\MultiPage.cpp(412) : error C3861: 'remove':
    identifier not found
    1>..\FreeImage\MultiPage.cpp(414) : error C3861: 'rename':
    identifier not found
    1>..\FreeImage\MultiPage.cpp(416) : error C3861: 'remove':
    identifier not found
    1>..\FreeImage\MultiPage.cpp(587) : error C2679: binary '!='
    : no operator found which takes a right-hand operand of type
    'int' (or there is no acceptable conversion)
    1> C:\Program Files\Microsoft Visual Studio
    8\VC\ce\include\list(270): could be 'bool
    std::list<_Ty>::const_iterator::operator !=(const
    std::list<_Ty>::const_iterator &) const'
    1> with
    1> _Ty=BlockTypeS * 1>">
    1> _Ty=BlockTypeS *
    1>


    1> while trying to match the argument list
    '(BlockListIterator, int)'
    1>CacheFile.cpp
    1>..\FreeImage\CacheFile.cpp(82) : error C3861: 'remove':
    identifier not found
    1>PluginTIFF.cpp
    1>..\FreeImage.h(150) : error C2011: 'tagRGBQUAD' : 'struct'
    type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(291) : see
    declaration of 'tagRGBQUAD'
    1>..\FreeImage.h(163) : error C2011: 'tagRGBTRIPLE' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(384) : see
    declaration of 'tagRGBTRIPLE'
    1>..\FreeImage.h(181) : error C2011: 'tagBITMAPINFOHEADER' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(308) : see
    declaration of 'tagBITMAPINFOHEADER'
    1>..\FreeImage.h(195) : error C2011: 'tagBITMAPINFO' :
    'struct' type redefinition
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(322) : see
    declaration of 'tagBITMAPINFO'
    1>..\FreeImage\PluginTIFF.cpp(96) : fatal error C1083:
    Cannot open include file: 'sys/stat.h': No such file or
    directory
    1>PluginPNG.cpp
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(291) : error
    C2011: 'tagRGBQUAD' : 'struct' type redefinition
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(308) : error
    C2011: 'tagBITMAPINFOHEADER' : 'struct' type redefinition
    1> ..\FreeImage.h(181) : see declaration of
    'tagBITMAPINFOHEADER'
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(322) : error
    C2011: 'tagBITMAPINFO' : 'struct' type redefinition
    1> ..\FreeImage.h(195) : see declaration of
    'tagBITMAPINFO'
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(384) : error
    C2011: 'tagRGBTRIPLE' : 'struct' type redefinition
    1> ..\FreeImage.h(163) : see declaration of
    'tagRGBTRIPLE'
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(1456) : error
    C2079: 'tagDIBSECTION::dsBmih' uses undefined struct
    'tagBITMAPINFOHEADER'
    1>c:\Program Files\Windows CE Tools\wce500\Windows Mobile
    5.0 Pocket PC SDK\Include\Armv4i\wingdi.h(1464) : error
    C2079: 'tagDIBSECTION2::dsBmih' uses undefined struct
    'tagBITMAPINFOHEADER'
    1>..\FreeImage\PluginPNG.cpp(400) : error C2079:
    'rgbBkColor' uses undefined struct 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(403) : error C2228: left of
    '.rgbRed' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(404) : error C2228: left of
    '.rgbGreen' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(405) : error C2228: left of
    '.rgbBlue' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(406) : error C2228: left of
    '.rgbReserved' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(462) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(462) : error C2228: left of
    '.rgbRed' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(463) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(463) : error C2228: left of
    '.rgbGreen' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(464) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(464) : error C2228: left of
    '.rgbBlue' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(482) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(482) : error C2228: left of
    '.rgbRed' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(483) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(483) : error C2228: left of
    '.rgbGreen' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(484) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(484) : error C2228: left of
    '.rgbBlue' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(500) : error C2664:
    'FreeImage_SetBackgroundColor' : cannot convert parameter 2
    from 'int ' to 'RGBQUAD '
    1> Types pointed to are unrelated; conversion
    requires reinterpret_cast, C-style cast or function-style cast
    1>..\FreeImage\PluginPNG.cpp(518) : error C2027: use of
    undefined type 'tagBITMAPINFOHEADER'
    1> ..\FreeImage.h(181) : see declaration of
    'tagBITMAPINFOHEADER'
    1>..\FreeImage\PluginPNG.cpp(518) : error C2227: left of
    '->biXPelsPerMeter' must point to class/struct/union/generic
    type
    1>..\FreeImage\PluginPNG.cpp(519) : error C2027: use of
    undefined type 'tagBITMAPINFOHEADER'
    1> ..\FreeImage.h(181) : see declaration of
    'tagBITMAPINFOHEADER'
    1>..\FreeImage\PluginPNG.cpp(519) : error C2227: left of
    '->biYPelsPerMeter' must point to class/struct/union/generic
    type
    1>..\FreeImage\PluginPNG.cpp(662) : error C2027: use of
    undefined type 'tagBITMAPINFOHEADER'
    1> ..\FreeImage.h(181) : see declaration of
    'tagBITMAPINFOHEADER'
    1>..\FreeImage\PluginPNG.cpp(662) : error C2227: left of
    '->biXPelsPerMeter' must point to class/struct/union/generic
    type
    1>..\FreeImage\PluginPNG.cpp(663) : error C2027: use of
    undefined type 'tagBITMAPINFOHEADER'
    1> ..\FreeImage.h(181) : see declaration of
    'tagBITMAPINFOHEADER'
    1>..\FreeImage\PluginPNG.cpp(663) : error C2227: left of
    '->biYPelsPerMeter' must point to class/struct/union/generic
    type
    1>..\FreeImage\PluginPNG.cpp(717) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(717) : error C2228: left of
    '.rgbRed' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(718) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(718) : error C2228: left of
    '.rgbGreen' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(719) : error C2027: use of
    undefined type 'tagRGBQUAD'
    1> ..\FreeImage.h(150) : see declaration of 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(719) : error C2228: left of
    '.rgbBlue' must have class/struct/union
    1>..\FreeImage\PluginPNG.cpp(784) : error C2079:
    'rgbBkColor' uses undefined struct 'tagRGBQUAD'
    1>..\FreeImage\PluginPNG.cpp(786) : error C2664:
    'FreeImage_GetBackgroundColor' : cannot convert parameter 2
    from 'int ' to 'RGBQUAD '
    1> Types pointed to are unrelated; conversion
    requires reinterpret_cast, C-style cast or function-style cast
    1>..\FreeImage\PluginPNG.cpp(788) : error C2228: left of
    '.rgbBlue' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(789) : error C2228: left of
    '.rgbGreen' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(790) : error C2228: left of
    '.rgbRed' must have class/struct/union
    1> type is 'int'
    1>..\FreeImage\PluginPNG.cpp(791) : error C2228: left of
    '.rgbReserved' must have class/struct/union
    1> type is 'int'
    1>PluginMNG.cpp
    1>h:\src\FreeImage\Source\LibJPEG\jmorecfg.h(179) : error
    C2371: 'INT32' : redefinition; different basic types
    1> c:\Program Files\Windows CE Tools\wce500\Windows
    Mobile 5.0 Pocket PC SDK\Include\Armv4i\basetsd.h(38) : see
    declaration of 'INT32'
    1>Generating Code...
    1>Build log was saved at
    "file://h:\src\FreeImage\Source\FreeImageLib\Windows Mobile
    5.0 Pocket PC SDK (ARMV4I)\Debug\BuildLog.htm"
    1>FreeImageLib - 60 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 5
    skipped ==========

     


Anonymous


Cancel   Add attachments