Undefined identifier WIN32_FILE_ATTRIBUTE_DATA

Regan Heath regan at netmail.co.nz
Tue Nov 13 08:44:45 PST 2012


On Tue, 13 Nov 2012 15:37:54 -0000, Martin Drasar <drasar at ics.muni.cz>  
wrote:

> On 13.11.2012 15:00, Regan Heath wrote:
>
>> Curiouser and curiouser.  In my case I had (re)built phobos/druntime so,
>> suspecting it might be causing issues I download a fresh copy of the
>> installer, moved my old installation folder and replaced it with the new
>> one.
>>
>> I still don't get any output/errors.
>>
>> If I add --force to the command line given, I get the std.cpuid
>> deprecation warning, but no other output.
>>
>> I stripped my PATH right back to just about nothing and that made no
>> difference.
>>
>> Can you get the same errors running dmd directly?  I can't seem to get
>> it to output the deprecation message..
>>
>> R
>>
>
> Odd...
>
> When running the dmd directly I only get the WIN32_FILE_ATTRIBUTE_DATA
> error, not the deprecation message. I have posted the rdmd command,
> because it was a bit shorter and easier to test than the dmd.
>
> This is my sc.ini if it helps anything:
> [Version]
> version=7.51 Build 020
>
> [Environment]
> LIB="%@P%\..\lib";\dm\lib
> DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
> LINKCMD=%@P%\link.exe

Mine is the same (default, no modifications).  I have added the dmd.exe  
path to PATH and I rely on the relative path references in the default  
sc.ini to find everything else.

Looking at the rdmd source I realised it was creating files in  
%TEMP%\.rdmd and in there I found the source it was compiling:

module temporary;
import std.stdio, std.algorithm, std.array, std.ascii, std.base64,
     std.bigint, std.bitmanip,
     std.compiler, std.complex, std.concurrency, std.container, std.conv,
     std.cpuid, std.cstream, std.csv,
     std.datetime, std.demangle, std.encoding, std.exception,
     std.file,
     std.format, std.functional, std.getopt, std.json,
     std.math, std.mathspecial, std.md5, std.metastrings, std.mmfile,
     std.numeric, std.outbuffer, std.parallelism, std.path, std.process,
     std.random, std.range, std.regex, std.signals, std.socket,
     std.socketstream, std.stdint, std.stdio, std.stdiobase, std.stream,
     std.string, std.syserror, std.system, std.traits, std.typecons,
     std.typetuple, std.uni, std.uri, std.utf, std.variant, std.xml,  
std.zip,
     std.zlib;
void main(char[][] args) {
import std.file;;
}

I suspect the reason you only see the deprecation message with rdmd is the  
import of "std.cpuid" in the above.  So, I believe that is one mystery  
solved but the main problem still isn't a problem on my machine for some  
reason.

Does your dmd2\src\druntime\import\core\sys\windows\windows.d file have a  
definition of WIN32_FILE_ATTRIBUTE_DATA on line 448?

R

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


More information about the Digitalmars-d mailing list