Cómo ver la lista de símbolos (funciones, clases) en un archivo .so en Linux
¡Hola a todos! Soy nuevo en C++ y apenas estoy empezando a entender las bibliotecas dinámicas (.so) en Linux. Tengo una biblioteca compilada a partir de varios archivos. Quiero verificar qué funciones y clases exporta, es decir, qué símbolos están disponibles para otros programas.
Problema: compilé mi biblioteca `libmylib.so` con g++, pero cuando intento enlazarla con un programa de prueba, el linker da errores de "undefined reference". Sospecho que los nombres de las funciones se están distorsionando (name mangling) o que no las declaré correctamente como extern "C".
Ejemplo de código que uso para compilar la biblioteca:
```cpp
// mylib.h
#pragma once
void hello();
int add(int a, int b);
```
```cpp
// mylib.cpp
#include "mylib.h"
#include
void hello() {
std::cout << "Hello from lib!" << std::endl;
}
int add(int a, int b) {
return a + b;
}
```
Compilo así:
```bash
g++ -shared -fPIC mylib.cpp -o libmylib.so
```
¿Cómo puedo ver ahora qué símbolos