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