[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: