4 ms·
I've checked with 2.074.0 and 2.074.1, no joy, but a new error: dmd -c -betterC -noboundscheck -mv=dmd.backend=. -mv=tk=tk -version=SCPP -O -release -inl
by AlexeyBrin 8y ago
I've checked with 2.074.0 and 2.074.1, no joy, but a new error:
dmd -c -betterC -noboundscheck -mv=dmd.backend=. -mv=tk=tk
-version=SCPP -O -release -inline -J. dfile.d
dfile.d(854): Error: static variable stdout cannot be read at compile time
BTW, I did all my tests on a clean Windows machine with nothing else installed.
- WalterBright 8y agoI don't know why that is happening on your setup. You can try replacing 'stream' on the next line with 'stdout', and remove the enum declaration.
- AlexeyBrin 8y agoThe code seems to pass the compiler now, I get an error in the link phase: c:\dmc\dm\bin\link /de @scppn.lnk OPTLINK (R) for Win32 Release 8.00.13 Copyright (C) Digital Mars 1989-2010 All rights reserved. http://www.digitalmars.com/ctg/optlink.html err.obj(err) Error 42: Symbol Undefined _stdout c:\dmc\dm\lib\NTSTUB.EXE Warning 2: File Not Found c:\dmc\dm\lib\NTSTUB.EXE Maybe you are using a more complete version of the C++ compiler (or some other utilities) than what is available for free on the Digital Mars website. Another potential problem is that I don't have Visual Studio installed on this machine. On a more positive note, I think I will give D a try after this experience.
- WalterBright 8y agoI think I had edited core.stdc.stdio Try defining stdout as this: enum stdout = &_iob[1]; in core\stdc\stdio.d
- AlexeyBrin 8y agoIt worked! Thanks. So, I've commented: shared stdout = &_iob[1]; and added: enum stdout = &_iob[1]; Now, I have 5 executables HTODn.exe, msgsx.exe, optabgen.exe, SCPPn.exe, SPPn.exe.
- WalterBright 8y agoAwesome! Meanwhile, I have filed a regression bug report for 2.079.