Ask a questionAsk a question
 

AnswerLibraries for Win Mobile

  • Friday, January 19, 2007 8:11 PMCharlesV Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi there. I've had some trouble with an application I'm working on. Hope you can help.

    See I'm using a library that uses sys/types.h library among others. Getting a missing library error I look for it and found it under vc/include but when I add the path to the additional include paths the following errors pop:

    Error C2084: function 'errno_t wmemcpy_s(wchar_t *,rsize_t,const wchar_t *,rsize_t)' already has a body altcecrt.h 375 
    Error C2084: function 'errno_t wmemmove_s(wchar_t *,rsize_t,const wchar_t *,rsize_t)' already has a body altcecrt.h 380 
    Error C2065: '_ALLOCA_S_MARKER_SIZE' : undeclared identifier malloc.h 194 
    Error C2664: 'wcsftime' : cannot convert parameter 3 from 'const char *' to 'const wchar_t *' atltime.h 402 
    Error C2664: 'wcsftime' : cannot convert parameter 3 from 'const char *' to 'const wchar_t *' atltime.h 429 
    Error C2664: 'wcsftime' : cannot convert parameter 3 from 'const char *' to 'const wchar_t *' atlcomtime.h 367 

    Reading somewhere in this forum I found that types.h is not available for mobile applications.

    1.- Is this true? If so, is there a substitute library?

    2.- Is there any work around solution for this problem?

    3.- Any ideas as to how to solve this?

     

    Thx in advance.

Answers

  • Saturday, January 20, 2007 2:12 AMMannyNS Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    > Reading somewhere in this forum I found that types.h is not available for mobile applications.
    > 1.- Is this true? If so, is there a substitute library?

    types.h header is available on WM5.0, and it is usually located at:

    "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i"

    You are probably mixing support for different Windows OSs, as "sys/types.h" is typically located at:
    "C:\Program Files\Microsoft Visual Studio 8\VC\include"

    which does not belong to WM5.0 SDK. So, make sure you are including a correct library for your project, and make sure you do not mix header files for WM5.0 with other system headers of other Windows (desktop) versions. I notice the error:
    Error C2065: '_ALLOCA_S_MARKER_SIZE' : undeclared identifier malloc.h 194

    This also proves that you are using wrong header files, as there is no macro _ALLOCA_S_MARKER_SIZE  in correct malloc.h (see at
    "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i" )

  • Wednesday, January 24, 2007 1:59 AMMannyNS Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    > "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i"
    > Are these headders the default ones in VStudio for a mobile app? Are they some kind of extensions?

    These headers are headers of the libraries that come with WM5.0 SDK for smartphone.

    > And how can I know the relation between a win32 .h or .lib and a WM5 .h or .lib files. For example, how can I map the oldnames.lib for WM5 .lib if any?
    > I'm getting some unresolved external symbol errors in my application. Maybe a stupid question but how can I know what .lib I'm missing?

    MSDN HELP can configured to show help pages for embedded Win systems only. That how for every function that you plan to use, you can see if it is available for the target embedded system, and if so, what header and what libraries should be included. Do not use any support available for Win desktop systems.

All Replies

  • Saturday, January 20, 2007 2:12 AMMannyNS Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    > Reading somewhere in this forum I found that types.h is not available for mobile applications.
    > 1.- Is this true? If so, is there a substitute library?

    types.h header is available on WM5.0, and it is usually located at:

    "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i"

    You are probably mixing support for different Windows OSs, as "sys/types.h" is typically located at:
    "C:\Program Files\Microsoft Visual Studio 8\VC\include"

    which does not belong to WM5.0 SDK. So, make sure you are including a correct library for your project, and make sure you do not mix header files for WM5.0 with other system headers of other Windows (desktop) versions. I notice the error:
    Error C2065: '_ALLOCA_S_MARKER_SIZE' : undeclared identifier malloc.h 194

    This also proves that you are using wrong header files, as there is no macro _ALLOCA_S_MARKER_SIZE  in correct malloc.h (see at
    "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i" )

  • Tuesday, January 23, 2007 1:19 AMCharlesV Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Thx a lot for your answer Manny now I know where I'm standing! I still have some questions though.

     

    "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i"

    Are these headders the default ones in VStudio for a mobile app? Are they some kind of extensions? And how can I know the relation between a win32 .h or .lib and a WM5 .h or .lib files. For example, how can I map the oldnames.lib for WM5 .lib if any?

    I'm getting some unresolved external symbol errors in my application. Maybe a stupid question but how can I know what .lib I'm missing?

    Thx again in advance!!

  • Wednesday, January 24, 2007 1:59 AMMannyNS Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    > "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Include\Armv4i"
    > Are these headders the default ones in VStudio for a mobile app? Are they some kind of extensions?

    These headers are headers of the libraries that come with WM5.0 SDK for smartphone.

    > And how can I know the relation between a win32 .h or .lib and a WM5 .h or .lib files. For example, how can I map the oldnames.lib for WM5 .lib if any?
    > I'm getting some unresolved external symbol errors in my application. Maybe a stupid question but how can I know what .lib I'm missing?

    MSDN HELP can configured to show help pages for embedded Win systems only. That how for every function that you plan to use, you can see if it is available for the target embedded system, and if so, what header and what libraries should be included. Do not use any support available for Win desktop systems.