Undefined identifier WIN32_FILE_ATTRIBUTE_DATA

Regan Heath regan at netmail.co.nz
Wed Nov 14 09:18:38 PST 2012


On Wed, 14 Nov 2012 15:37:19 -0000, Martin Drasar <drasar at ics.muni.cz>  
wrote:

> On 14.11.2012 15:28, Regan Heath wrote:
>> Well.. druntime is built into a lib, and phobos is built using that
>> lib.  So, the only way I can imagine reproducing this error is by
>> altering dmd2\src\druntime\import\core\sys\windows\windows.d, rebuilding
>> druntime, then rebuilding phobos and replacing the phobos.lib in
>> dmd2\windows\lib.
>>
>> BUT, doing so fails at the rebuild of phobos, giving the error:
>> std\file.d(530): Error: undefined identifier WIN32_FILE_ATTRIBUTE_DATA,
>> did you mean struct xxWIN32_FILE_ATTRIBUTE_DATA?
>>
>> So.. it's almost like in your case the rdmd/dmd command line is not
>> using the pre-built phobos.lib, but trying to recompile std.file itself.
>>
>> I assume you have a dmd2\windows\lib\phobos.lib?  What are the dates on
>> various files.. is it possible you are time shifted in such a way which
>> is confusing the compiler into ignoring phobos.lib and rebuilding from
>> source?
>
> Yes, I have it. Times are normal. All files are from yesterday when I
> installed the dmd.
>
>> What happens if you run dumpobj (dmc\dm\bin) on phobos.lib, .e.g
>>   dumpobj -p phobos.lib > output.txt
>>
>> then open output.txt and look for WIN32_FILE_ATTRIBUTE_DATA.  Bear in
>> mind the output wraps the symbol names as needed so simply searching for
>> "WIN32_FILE_ATTRIBUTE_DATA" wont find anything.
>
> ...snip...
>
> I had to do the dump on linux, because I could not found the dumpobj
> binary where you said it should be.
>
> I hope this gives a hint where the problem might be.

I hope so to .. but I don't have a clue.  I'm not at all familiar with the  
output of dumpobj so I can't really debug this any further.  TBH I was  
banking on you not finding the symbols or them being radically different  
or something strange.

Have you tried dmd in verbose mode, perhaps that'll give a clue.

R

-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


More information about the Digitalmars-d mailing list