0 votos

Comportamiento extraño de mysql-connector-c++ en OSX

Estoy desarrollando una aplicación en c++ en OSX Yosemite que utiliza mysql. He instalado tanto mysql y mysql-connector-c++ utilizando brew .

Hasta hace poco podía utilizar la biblioteca sin problemas, pero ahora estoy teniendo algunos problemas.

Básicamente, cuando intento ejecutar mi aplicación obtengo el siguiente error:

libc++abi.dylib: terminating with uncaught exception of type 
sql::SQLException: Unknown MySQL server host 'K@??' (0)

He comprobado y estoy pasando correctamente el nombre del host, que es localhost . He intentado reinstalar mysql-connector-c++ pero el problema persiste. ¿Alguien tiene alguna idea de cómo solucionar esto?

Estoy usando mysql versión 5.7.14 y mysql-connector-c++ versión 1.1.6_1.

0 votos

Qué muestra en el depurador y también qué excepción lanza e intenta atraparla

0 votos

@Mark No estoy usando un depurador, pero la excepción cuando se atrapa dice sólo: Unknown MySQL server host '2???' (0). Fíjate que cada vez que lo intento, el supuesto nombre del host en la excepción cambia

0 votos

Pues bien, si está desarrollando debería hacerlo, especialmente en estos casos. Nadie se molestará en contestar si no has hecho lo básico

1voto

wangfengfight Puntos 26

Yo también tengo este problema. Supongo que la razón es el desajuste entre MacOS y mysqlconn. La última versión binaria de mysqlconn sólo soporta hasta MacOS 10.10 y el último MacOS es 10.11. He compilado el driver yo mismo y el problema ha desaparecido. Así que puede intentar compilarlo usted mismo y debería funcionar. Aquí están los comandos que utilicé:

cmake -DMYSQL_CONFIG_EXECUTABLE=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config -DCMAKE_INSTALL_PREFIX=~/
make;make install

Entonces puedes incluir ~/include y ~/lib para tus cabeceras y librerías. Espero que esto te funcione. Si aún así no funciona, intente comprobar si ha utilizado el mismo gcc tanto para mysqlconn como para su programa. brew ahora instala gcc 6.2 pero mac sólo lleva 4.2.

0 votos

Gracias por su comentario. Ya he intentado compilar yo mismo pero no pensé en la diferencia de los compiladores. Intentaré hacer lo que me has dicho y te contestaré.

0 votos

¡Funciona! El problema era realmente el compilador. Desinstalé el conector en brew, descargué el código fuente de nuevo, compilé y lo instalé. Luego leí la salida de cmake y me di cuenta de que estaba usando un compilador diferente, así que usé el mismo al compilar mi código y ahora parece estar bien. Gracias.

0 votos

Como la pregunta es off-topic aquí no estoy seguro de que la mantengan. Si quieres puedo ponerlo en stackoverflow, respondes allí y lo marco como resuelto. Luego borro esta de aquí.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X