Saltar al contenido principal

Etiqueta: Biblioteca Compartida

Visibilidad de simbolos GNU

Hoy aprendí sobre un detalle al compilar una biblioteca compartida. Quería ligar código contra una biblioteca que compilé con meson, pero seguía obteniendo errores al ligar, específicamente undefined reference to `func_name' # referencia indefinida a `func_name' Después de compilar la biblioteca manualmente e inspeccionar el objeto resultante con nm, la diferencia relevante fue a siguiente # creado con meson 0000000000001263 t func_name # compilada manuamente 0000000000001263 T func_name La diferencia es sobre la T siendo minúscula/mayúscula, como sugiere la página de manual de NM(1):