Link problem with Derelict3

Justin Whear justin at economicmodeling.com
Mon Jul 22 11:22:49 PDT 2013


On Mon, 22 Jul 2013 20:07:28 +0200, moechofe wrote:

> Hi,
> 
> I have a problem when I try to compile Derelict3 under linux. I try
> different orders of the linked libraries without success.
> 
> I've got this error:
> 
> /home/martin/Derelict3/lib/dmd/libDerelictSDL2.a(sdl_106_698.o):(.rodata
+0x3094):
> référence indéfinie vers «
> _D6object6Object8opEqualsMFC6ObjectC6ObjectZb »
> collect2: erreur: ld a retourné 1 code d'état d'exécution
> 
> I'm using "pragma" instructions but it's the same with passing the
> "-L-l" argument to "dmd":
> 
> Here is my little source file:
> 
> module main;
> 
> import std.stdio;
> import derelict.sdl2.sdl;
> 
> pragma(lib,"dl");
> pragma(lib,"DerelictSDL2");
> pragma(lib,"DerelictUtil");
> 

You should link dependencies _after_ the library which depends on them.  
In particular, your pragmas should go in this order:

pragma(lib,"DerelictSDL2");
pragma(lib,"DerelictUtil");
pragma(lib,"dl");

That said, your error looks like a problem between DerelictSDL and 
phobos;  make sure the derelict libraries have been compiled with the 
same compiler version that you're trying to use.


More information about the Digitalmars-d-learn mailing list