lunes, 2 de enero de 2012

detalles de compilacion de c++ en eclipse

Compilando en eclipse un programa hecho por otra persona en otra IDE se me presentaron los siguientes errores:

"multiple definition of _start"

el detalle en consola:
/build/buildd/eglibc-2.10.1/csu/../sysdeps/x86_64/elf/start.S:65: multiple definition of `_start'

Gracias a la publicación de Mario en un foro (http://stackoverflow.com/a/5528987) encontré la solución:
añadir el parametro -c a la compilación del g++ (en "other flags"). No volvió a aparecer el error.


Otro error que se me presentó a continuación:
" undefined reference to `pthread_create' "

a pesar de haberle añadido la opción -lpthread a la compilación con g++, me seguía arrojando el mismo error, hasta que caí en la cuenta que el eclipse trabaja por separado la compilación y el enlazado (link), así que el enlazado también debería incluir esta opción en "linker flags". Incluí de nuevo -lpthread en ese campo, y todo corrió perfecto.

Como siempre digo, aunque esta información es redundante, es mas fácil encontrarla en la web si está publicada en varios sitios y agrupada de forma distinta. Espero les sirva.

Saludos