digitalmars.D.bugs - [Issue 793] New: OBJ file names conflict => linker error
- d-bugmail puremagic.com (31/31) Jan 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=793
- d-bugmail puremagic.com (10/10) Jan 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=793
- Sean Kelly (4/11) Jan 04 2007 Try adding the -op option as well. This should preserve directory
- Nick Atamas (3/3) Jan 04 2007 Adding -op seems to do nothing when used with Bud.
http://d.puremagic.com/issues/show_bug.cgi?id=793 Summary: OBJ file names conflict => linker error Product: D Version: 1.00 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: nick.atamas gmail.com .obj files conflict when I use the -od flag to redirect intermediate output to a directory. Shouldn't obj files get the name of their package? So, sdl.timer.obj instead of just timer.obj. e.g. c:\proj> bud -odbin src/main.d [proj] |--[bin] \--[src] |--[A] | \--Timer.d | |--[sdl] | \--timer.d | \--main.d #imports and uses both timers This will cause a linker error because bin/Timer.obj will be overwritten by bin/timer.obj. Problem experienced on Windows. Should exist on all other OSes. --
Jan 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=793 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #1 from bugzilla digitalmars.com 2007-01-04 12:36 ------- This is working as designed. When you specify an output directory, that's where the output files should go. --
Jan 04 2007
d-bugmail puremagic.com wrote:..obj files conflict when I use the -od flag to redirect intermediate output to a directory. Shouldn't obj files get the name of their package? So, sdl.timer.obj instead of just timer.obj. e.g. c:\proj> bud -odbin src/main.dTry adding the -op option as well. This should preserve directory structure in bin. To link you'll have to perform a recursive search in bin for object files.
Jan 04 2007
Adding -op seems to do nothing when used with Bud. When using dmd directly, using -op does fix the problem. I guess this issue should be raised with in Bud.
Jan 04 2007