sql >> Base de Datos >  >> RDS >> Mysql

Uso de libmysqlclient en una aplicación de subprocesos múltiples

Actualizar :

Parece que necesita llamar a mysql_library_init() antes de mysql_init() :

Con respecto a su pregunta original, libmysqlclient_r.so es en realidad un enlace simbólico a libmysql.so . Puede cambiar libmysql/CMakeLists.txt para producir una biblioteca estática (libmysql.a ) en su lugar eliminando SHARED palabra clave de la siguiente línea:

ADD_LIBRARY(libmysql          SHARED ${CLIENT_SOURCES} libmysql.def)

Sin embargo, recomendaría (1) intentar ejecutar el mismo código sin usar subprocesos y ver si el problema persiste, (2) compilar y usar la versión de depuración de las bibliotecas:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug
make

De esta forma, podría investigar el problema con más detalle.