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