Archive: cant compile latest snapshot: error RC2104


cant compile latest snapshot: error RC2104
When I try to compile NSIS from latest developments snapshots(today and yesterday):

http://nsis.sourceforge.net
http://nsis.sourceforge.net/nightly/nsis.zip

Development Snapshot
NSIS CVS directory zipped up
Updated: Wed, 27 Nov 2002, 08:44:08 GMT

Listed below error occure:

//------------ ERROR:

--------------------Configuration: exehead_bzip2 - Win32 Release--------------------
Compiling resources...
E:\downl\nsis271102_844\NSIS\Source\exehead\resource.rc (35): error RC2104 : undefined keyword or key name: DS_SHELLFONT
Error executing rc.exe.

nsis20a7271102pm.exe - 1 error(s), 0 warning(s)
//------------ ERROR:

in resource.rc err line is:
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD

My OS is WinXPpro no SP, VC 6.0 with SP

Result is the same when i try to compile on PC with installed SDK.

Any help will be appreciated

Please download the latest Platform SDK.
I will make sure it is defined anyway in the resource file, but for now download the PSDK.


You can also use DS_FIXEDSYS | DS_SETFONT instead of DS_SHELLFONT.


10ks for the answer
I 'll get the latest SDK and will post when compile OK


At the and I compile latest snapshot NSIS without installing new SDK, 10ks :D for the changes which made it possible:
:up:

//---code:
#ifndef DS_SHELLFONT
#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
#endif
//---code:
:up:

...
one last thing, I changed one line in file "util.c", because "INVALID_FILE_ATTRIBUTES " return undefined error

//--- original code in util.c:

d=GetFileAttributes(dir);
if (d == INVALID_FILE_ATTRIBUTES || !(d&FILE_ATTRIBUTE_DIRECTORY)) dir=0;

//--- original code in util.c:
with
//--- changed code in util.c:

d=GetFileAttributes(dir);
if (d == 0xffffffff || !(d&FILE_ATTRIBUTE_DIRECTORY)) dir=0;

//--- changed code in util.c:
because in old MSDN and SDK:
//---------- from old: Platform SDK: Files and I/O
GetFileAttributes
...
If the function succeeds, the return value contains the attributes of the specified file or directory.

If the function fails, the return value is 0xffffffff. To get extended error information, call GetLastError.
...
//---------- from old: Platform SDK: Files and I/O
and i think that INVALID_FILE_ATTRIBUTES is macro name of 0xffffffff in new SDK, some kind of:

//---code:
#define INVALID_FILE_ATTRIBUTES 0xffffffff
/---code:
May be some piece of code, same solution as DS_SHELLFONT
in "util.c" will be usefull for someone who have not installled SDK yet(or crazy slow SDK downloading like me)
and want to compile NSIS:
//--- offered code:
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES 0xffffffff
#endif
//--- offered code:
I hope "INVALID_FILE_ATTRIBUTES" is same as 0xffffffff, cant be shure untill new SDK arrived from microsoft.com ;-(,
...

Thanks, I have fixed that too. I will upload this file later though because it has some code in progress.