www.digitalmars.com         C & C++   DMDScript  

D - Dependancy insanity.

reply Andy Friesen <andy ikagames.com> writes:
When compiling a bunch of interdependant modules, sometimes some very 
strange things occur.  Things like the compiler stating that methods of 
a class do not have access to its own public members, or link errors for 
things that are being linked in.

Passing the source files to dmd in a different order has a way of 
helping matters.

I don't doubt that these things will be dealt with in due time; what I'm 
wondering is simply if anybody has found any kind of coherent pattern, 
or a consistent way to work around these issues.

  -- andy
May 19 2003
next sibling parent Patrick Down <pat codemoon.com> writes:
Andy Friesen <andy ikagames.com> wrote in
news:bac7ie$1de2$1 digitaldaemon.com: 

 When compiling a bunch of interdependant modules, sometimes some very 
 strange things occur.  Things like the compiler stating that methods
 of a class do not have access to its own public members, or link
 errors for things that are being linked in.
 
 Passing the source files to dmd in a different order has a way of 
 helping matters.
 
 I don't doubt that these things will be dealt with in due time; what
 I'm wondering is simply if anybody has found any kind of coherent
 pattern, or a consistent way to work around these issues.
 
   -- andy
 

Yes, I have reported an error like this before. It is similar to your problems. D/12840 Later I found that it did not matter if I complied the sources into a library. Linking the objs separately caused a problem where as compiling the D files togeter on the same command line works ok.
May 20 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
"Andy Friesen" <andy ikagames.com> wrote in message
news:bac7ie$1de2$1 digitaldaemon.com...
 When compiling a bunch of interdependant modules, sometimes some very
 strange things occur.  Things like the compiler stating that methods of
 a class do not have access to its own public members, or link errors for
 things that are being linked in.

 Passing the source files to dmd in a different order has a way of
 helping matters.

 I don't doubt that these things will be dealt with in due time; what I'm
 wondering is simply if anybody has found any kind of coherent pattern,
 or a consistent way to work around these issues.

If they can be isolated down, I can fix them. In the meantime, compile separately, which should work.
May 24 2003