Command Line Order + Linker Errors

2012-10-29 Thread dsimcha
I'm running into some inexplicable linker errors when trying to compile a project. I've tried two command lines to compile the project that I thought were equivalent except for the names of the output files: // emptymain.d: void main(){} // test.d: unittest { double[double] weights = [1:

Re: Command Line Order + Linker Errors

2012-10-29 Thread David Nadlinger
On Monday, 29 October 2012 at 20:56:02 UTC, dsimcha wrote: My real question, though, is why should the order of these files on the command line matter and does this suggest a compiler or linker bug? What exactly are the errors you are getting? My first guess would be templates (maybe the prec

Re: Command Line Order + Linker Errors

2012-10-29 Thread dsimcha
The mesasges are below. The exact messages are probably not useful but I included them since you asked. I meant to specify, though, that they're all "undefined reference" messages. Actually, none of these issues occur at all when compilation of the two files is done separately, regardless of

Re: Command Line Order + Linker Errors

2012-10-29 Thread Rainer Schuetze
On 10/29/2012 10:24 PM, dsimcha wrote: The mesasges are below. The exact messages are probably not useful but I included them since you asked. I meant to specify, though, that they're all "undefined reference" messages. Actually, none of these issues occur at all when compilation of the two

Re: Command Line Order + Linker Errors

2012-10-29 Thread Jesse Phillips
On Monday, 29 October 2012 at 20:56:02 UTC, dsimcha wrote: My real question, though, is why should the order of these files on the command line matter and does this suggest a compiler or linker bug? This would be a bug. Recently this was closed since the example is working. http://d.puremag

Re: Command Line Order + Linker Errors

2012-11-23 Thread Rainer Schuetze
On 10/29/2012 9:56 PM, dsimcha wrote: I'm running into some inexplicable linker errors when trying to compile a project. I've tried two command lines to compile the project that I thought were equivalent except for the names of the output files: // emptymain.d: void main(){} // test.d: unitt