El día 1 de octubre de 2008 17:48, Stéphane Glondu <[EMAIL PROTECTED]> escribió: > 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 > >
Hola, perfecto, ya tengo el libmysqlpp.a (la estática). Ahora sólo me falla a la hora de compilar y unirlo con las demás librerías que uso. Si hago un: g++ -static /root/mysql/mysql++-3.0.0/libmysqlpp.a fax.cpp -o fax todo funciona correctamente, sin embargo si necesito unirlo con otras librerías... la cosa ya cambia. Los errores comienzan a ser grande. g++ -static /usr/lib/libpthread.a /usr/lib/libvmime.a /root/mysql/mysql++-3.0.0/libmysqlpp.a fax.cpp -o fax g++ -lpthread -lvmime -static /root/mysql/mysql++-3.0.0/libmysqlpp.a fax.cpp -o fax También probé a ponerle -lmysqlclient -lz, pero no cambian los errores :S Los errores que suelta: /tmp/ccjs6XSo.o: In function `fax::notify(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': fax.cpp:(.text+0x16f9): undefined reference to `vmime::messageBuilder::messageBuilder()' fax.cpp:(.text+0x173f): undefined reference to `vmime::mailbox::mailbox(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' fax.cpp:(.text+0x1757): undefined reference to `vmime::messageBuilder::setExpeditor(vmime::mailbox const&)' fax.cpp:(.text+0x1813): undefined reference to `vmime::addressList::addressList()' ... ...... ......... ¿Dónde está ahora el fallo? -- Power by Debian. Un saludo, Javier. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

