Re: PCSC-lite 1.8.8 wintypes.h typedef for LPCTSTR missing on Mac OS

Ludovic Rousseau <[email protected]>
Newsgroups gmane.comp.lib.muscle
Message-ID <CAGstE8ANu6mG+v1c8fex92MJNzm2g=P3jvOYj5f26nkU7R9weg@mail.gmail.com>
2013/8/4 Russell Rezaian <[email protected]>:
> Hello,

Hello,

> I was just recently trying to compile the Global Platform 6.0.0 libraries on
> a Mac (OSX 10.7.4) and ran into a compile time error where LPCTSTR was
> reported as not defined.
>
> After a little investigation, the Global Platform code is including
> PCSC/wintypes.h which should define LPCTSTR (and which does define LPCTSTR
> for non-Apple platforms).
>
> However, in the 1.8.8 version of PCSC-lite wintypes.h there is an ifdef for
> __APPLE__ and the defines for LPTSTR and LPCTSTR are only in the
> non-__APPLE__ else block.
>
> I think this might be a bug.

On Mac OS X you should use the PCSC framework provided by Apple and
not pcsc-lite 1.8.8. pcsc-lite 1.8.8 is not supposed to be used on Mac
OS X.

The header file is at
/System/Library/Frameworks/PCSC.framework/Headers/wintypes.h and
contains:

    /* these types are deprecated but still used by old drivers and applications
     * You should use LPSTR instead */
    typedef char *LPTSTR ;
    typedef const char *LPCTSTR ;

> I added the two missing typdefs back into the earlier ifdef block and things
> seem compile properly.
>
> I know these two defines are not used in the current PCSC-lite, but since
> some code does seem to still use them, I thought it might be worth reporting
> this.
>
> Hopefully this is a useful level of detail.  I can provide more details (and
> diffs) if requested.

Your code (or Global Platform 6.0.0 libraries) should use something like:
#ifdef __APPLE__
#include <PCSC/wintypes.h>
#endif

Bye

-- 
 Dr. Ludovic Rousseau
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.