View previous topic :: View next topic |
Author |
Message |
JScott
Joined: 26 Jul 2007 Posts: 7
|
Posted: Mon Jul 30, 2007 7:39 am Post subject: DSSS + Tango + MiniD |
|
|
I'm not sure if this is an issue of tango, dmd, dsss or minid. It could possibly be something I'm doing wrong, but I can't see how as DSSS is doing all the setting up for me.
When trying to link mdcl .exe I get an error saying that tango.text.convert.UnicodeBom.UnicodeBom(T).Info.__init was previously defined. I've been using tango for a while and never had any problems like this so I was hoping maybe someone has run into it before.
The lib is created, but I haven't tested it because I haven't worked out how yet. |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Tue Jul 31, 2007 11:22 pm Post subject: |
|
|
It sounds like you've compiled MiniD into a static library, and are now trying to link against it? I'd recommend against that. Templates and separate compilation don't get along very well. I wouldn't be surprised if what's happening is that UnicodeBom is getting compiled into both the MiniD static lib and into a Tango static lib, causing a multiple definition error.
Unfortunately I don't have much experience with DSSS, so I'm not in much of a position to help you out with solving this Perhaps Gregor or someone could come along. |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Wed Aug 01, 2007 9:26 am Post subject: |
|
|
OK, been messing around, and got some similar errors under certain circumstances. Basically it's what I thought -- DSSS or Rebuild keeps around the object files from the last build so that it doesn't have to build everything every compile (even though that's not usually a problem, given how fast the compiler is). When you try to build a different program that uses the same object files, either the templates get redefined resulting in multiple definition errors, or the templates are expected to be in the object file but aren't, resulting in undefined symbol errors.
Did you install MiniD via 'dsss net', or did you just download/checkout the repo? If you just checked out the repo, try doing a 'dsss clean' in the directory where you're building MDCL.
Furthermore, did you install Tango using 'dsss net'? That I have absolutely no experience with, so I'm not sure if that's the problem. |
|
Back to top |
|
|
JScott
Joined: 26 Jul 2007 Posts: 7
|
Posted: Wed Aug 01, 2007 11:25 am Post subject: |
|
|
I installed everything with dsss net including tango. I didn't test tango extensively, but I have been building against it for a week or so now.
I don't know much about DSSS either, but it's also possible that the culprit is rebuild.
I think I'm going take the path of least resistance and go back to using Build and/or Codeblocks. CB is a bit more manual, but at least I'll know what's going on.
Thanks for the help (even tho it wasn't your problem) and congrats on 1.0. |
|
Back to top |
|
|
|