Re: /usr/bin/ld: cannot find -lmysqlpp
Javier wrote:
> Esto me genera un ejecutable "main" que realiza lo que yo quiero, pero
> depende de las librerías instaladas. Para evitarlo, uso -static, con
> lo que me queda:
> g++ -lvmime -lmysqlpp -static main.cpp -o main
> La salida que me da es:
> /usr/bin/ld: cannot find -lmysqlpp
> collect2: ld returned 1 exit status
>
> ¿Alguna idea de por qué ese fallo?
Sí: mysqlpp no existe de forma estática (libmysqlpp.a). Generalmente,
librerías estáticas están instaladas con *-dev paquetes. Pero no es el
caso de libmysql++-dev... ¿Quizás quieres enviar un (wishlist) bugreport?
Puedes probar eso:
1. apt-get source mysql++
2. cd mysql++-*
3. debuild -us -uc -b # instale dependencias y prueba más)
4. note los .o utilizados para crear libmysql.so.3.0.0 (o lo que sea)
5. ar rc libmysqlpp.a <list-of-o-files>
6. utiliza este libmysqlpp.a para generar tu ejecutable:
g++ -lvmime -static <path/to/libmysqlpp.a> main.cpp -o main
Quizás necesitarás también libmysqlpp_excommon.a (generado durante la
compilación de mysql++), y -lmysqlclient -lz (éstos existen de forma
estática).
Suerte,
--
Stéphane
Reply to: