> F:\DLang\DEx\D2Ex>F:\laguangeD\dlang\dtwo\dmd\windows\bin\dmd anoy.d > object.d: Error: module object cannot read file 'object.d' > > F:\DLang\DEx\D2Ex> > > What does this mean?I can compile all my d2 programs just use: dmd *.d > under any path:
I remember getting that same message compiling with DMD. Especially if I had played around with the D compiler sc.ini file trying to compile Tango from source with the latest D compiler. What it means is the compiler tries to search its imports paths, which is set in the sc.ini file with -I and can be overridden in the command line. I then searched for files called object.* in src and imports and pointed the -I paths there to see what would happen. After it goes away I forget about it. My latest sc.ini says. DFLAGS="-...@p%\..\..\src\phobos" "-...@p%\..\..\src\druntime\import" Now there is a file called object.di inside ..\src\druntime\import. Nowadays I just take the plain vanilla setup, keeping seperate distribution trees for phobos dmd & dmd2, and dmd tango. My basic windows dmd setup. When I test with a new version of dmd2, say 2.036, I replace an entire C:\D\dmd2 folder with the new distribution zip. I run the command prompt cmd.exe, CD to the source directory where I have a build*.bat files. The batch files run the dmd compiler by calling it with its full path C:\D\dmd2\windows\bin\dmd.exe , and usually the dmd2 compiler figures out the standard import locations and libraries from its relative path using the command line invocation argument. If I am using tango I have downloaded the current approved windows binary release complete with matching dmd 1.xxx version. Since it also works out of the box, my tango batch path is C:\D\tango\bin\dmd.exe, and the sc.ini therein does tango paths. If I want a convenience of typing dmd directly , I set up batch files to configure the current PATH. REM StartMyD2Env.bat in C:\bin\codeblocks\ PATH=c:\D\dmd2\windows\bin;c:\D\dm\bin;%windir%\system32;%windir%;%windir% \system32\wbem start "D2 environment" Codeblocks.exe and run it from a shortcut cmd.exe /K c:\bin\StartMyD2Env.bat Otherwise every old dmd.exe and dll, and other developments systems in forgotten folders in my system path want to get in on the act. -- michael *^&^*