[Win32utils-devel] win32-dir 0.1.0 compile problems

Berger, Daniel Daniel.Berger at qwest.com
Mon May 2 10:25:12 EDT 2005

> -----Original Message-----
> From: win32utils-devel-bounces at rubyforge.org 
> [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of 
> Wayne Vucenic
> Sent: Sunday, May 01, 2005 4:25 PM
> To: Zach Dennis
> Cc: Development and ideas for win32utils projects
> Subject: Re: [Win32utils-devel] win32-dir 0.1.0 compile problems
> Hi Zach,
> Just a quick comment...
> > C:\WINNT\system32>>dumpbin /exports shell32.dll | grep SH 
> (yes i have 
> > unix tools)
> > and found that I don't have SHGetFolderPath. I have 
> SHGetFolderPathA 
> > and SHGetFolderPathW.
> I don't know anything about the specific problem you're 
> encountering, but the results you got above are exactly what 
> I'd expect.  Almost all Win32 API calls that do anything with 
> strings come in two flavors, xyzA (which deals with 8 bit 
> ANSI strings) and xyzW (which deals with 16 bit Unicode 
> strings).  There is not actually an API call named just 
> "xyz". In C/C++ there are preprocessor defines that translate 
> xyz to xyzA or to xyzW, depending on whether the code is 
> being compiled for Unicode.
> Hope this helps,
> Wayne

This isn't the issue.  If SHGetFolderPath isn't found, then
SHGetSpecialFolderPath is used instead.

The real issue simply seems to be that some of these constants just
aren't defined in the VC++ 6 header files.  I couldn't tell this from
the documentation, which only specifies a minimum OS, not a minimum
version of VC++.  I've hit this before back when I was using Win2k with
VC++ 6 myself.

There are three solutions.  Two involve wrapping these values in #ifdef
statements.  The question is whether or not to simply leave them
undefined, or to define them manually based on the values in the VC++ 7
header files if not found, which I could copy/paste.  The third solution
is for Zach to upgrade to a newer version of VC++. :)

In any case I should have a new release out this week at some point.
Zach (or anyone with VC++ 6), I'll need your help to confirm that it



More information about the win32utils-devel mailing list