Tengo un ejecutable y una biblioteca dinámica (.so). La biblioteca exporta algunos símbolos y ejecuta llamadas con éxito. Pero quiero hacer posible las funciones ejecutables de la biblioteca. Yo he tratado de hacer en el siguiente ejecutable:cómo llamar a la función en ejecutable desde mi biblioteca?
//test
extern "C" void print(const char * str) {
std::cout << str << std::endl;
}
y esto en la biblioteca:
extern "C" void print(const char *);
pero cuando llamo dlopen
en ejecutable (para cargar la biblioteca) que devuelve el error undefined symbol: print
. ¿Cómo puedo arreglarlo?
@milo: He agregado una forma más detallada de exportar símbolos desde el ejecutable. – ninjalj
muchas gracias! Creo que será mejor que lean "dso howto" para obtener conocimientos más comprensivos en objetos compartidos. – milo
Algunas palabras para las otras plataformas principales serían agradables. – ManuelSchneid3r