Gracias por tu tiempo.
Inicialmente había probado con explicitarle a
gcc que el lenguaje era C++, pero daba los mismos resultados.
Probé con cc, pero también pasó exactamente lo mismo. En teoría, las extensiones .C .cc .cxx son reconocidas por gcc como C++, de todas maneras al cambiarle la extensión, no cambiaba los resultados de la compilación.
Compilé con la opción v (
gcc -v o...) para ver porqué compilaba bien con g++ y no con
gcc.
Al parecer el problema está cuando el compilador llama a la herramienta
collect2, g++ no usa los mismos parámetros que gcc. La cantidad de parámetros es muy grande como para postearla aquí. Pero básicamente la diferencia está en que g++ usa el parámetro
-lstdc++ y gcc no lo hace.
En el resto del proceso, las 2 herramientas hacen exactamente lo mismo, por lo que la solución sería llamar a gcc indicándole que le pase ese parámetro a collect2 cuando lo llame.
Me rompí la cabeza un rato para hacerlo y no pude, así que terminé usando g++
. Cuando tenga un poco más de ganas voy a ver si se puede hacer con gcc.
Saludos