Estoy enfrentando los siguientes errores al intentar vincular estáticamente libDuma, ¿Puede decirme cómo pedir a g ++ que use malloc de libDuma?Cómo resolver los errores de definición múltiple en gcc linux?
[email protected]:~/CodeTest$ g++ ./testDuma.cpp -g -o testDuma -static -lduma -pthread
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libc.a(malloc.o): In function `free':
(.text+0x4b00): multiple definition of `free'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libduma.a(duma.o):(.text+0x25f0): first defined here
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libc.a(malloc.o): In function `malloc':
(.text+0x4bc0): multiple definition of `malloc'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libduma.a(duma.o):(.text+0x2730): first defined here
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libc.a(malloc.o): In function `realloc':
(.text+0x5950): multiple definition of `realloc'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/libduma.a(duma.o):(.text+0x23d0): first defined here
collect2: ld returned 1 exit status
con -nodegaultlibs no está compilando, necesito vincular estáticamente libDuma y es obligatorio para mí, aquí están los errores que estoy recibiendo http://pastebin.com/ydrdqN0J – SunnyShah
@SunnyShah: No estoy seguro de si funcionará correctamente, pero pruebe la bandera del enlazador '-z muldefs'. Me gusta: 'g ++ testDuma.cpp -static -g -o testDuma -lduma -lpthread -Xlinker -z -Xlinker muldefs' –
Gracias por responder, una duda, alguna idea sobre cómo pedirle a G ++ que use los símbolos de duma y no de libc? – SunnyShah