This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: setup.exe: error: ‘KEY_WOW64_{64,32}KEY’ was not declared in this scope
- From: Shaddy Baddah <lithium-cygwin at shaddybaddah dot name>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 16 Apr 2013 01:42:30 +1000
- Subject: Re: setup.exe: error: ‘KEY_WOW64_{64,32}KEY’ was not declared in this scope
- References: <516C111F dot 5090604 at shaddybaddah dot name> <516C1E08 dot 8000908 at shaddybaddah dot name>
Hi,
On 16/04/13 01:34, Shaddy Baddah wrote:
On 16/04/13 00:39, Shaddy Baddah wrote:
I'm encountering this error whilst trying to build (32bit) setup.exe,
under 32bit Cygwin:
make[2]: Entering directory
`/cygdrive/c/Users/sbaddah/cygwin-home/workarea/cygwin-setup-build'
CXX install.o
../cygwin-setup/install.cc: In function ‘void
create_allow_protected_renames()’:
../cygwin-setup/install.cc:265:27: error: ‘KEY_WOW64_64KEY’ was not
declared in this scope
../cygwin-setup/install.cc:265:27: error: ‘KEY_WOW64_32KEY’ was not
declared in this scope
Makefile:855: recipe for target `install.o' failed
make[2]: *** [install.o] Error 1
<snip/>
I think I may have worked out what is wrong. I understand now (actually
again, I'd forgotten) that the old mingw project is a little bit stale,
and that mingw64 is the way forward.
I'd configured my build using:
$ ../cygwin-setup/configure --host="i686-pc-mingw32" -C
which is using the legacy mingw32 compiler and its stale w32api.
That w32api has a strange guard around the definitions for the above:
#if (_WIN32_WINNT >= 0x0502)
#define KEY_WOW64_64KEY 0x0100
#define KEY_WOW64_32KEY 0x0200
#endif
And however it is defined, _WIN32_WINNT is set as 0x0400.
I am trying with:
$ ../cygwin-setup/configure --host="i686-w64-mingw32" -C
I am expecting this will work. I can report back if necessary.
Yes, this has worked. Sorry for the noise.