Estoy trabajando en Linux, Eclipse CDT, g ++, con la biblioteca de Boost. Al tener un programa existente que usa el hilo Boost, trato de vincularlo estáticamente en lugar de dinámicamente./Usr/local/lib contiene los siguientes archivos:Intentando vincular estáticamente Boost
libbost_thread.a
libbost_thread.so
libbost_thread.1.41.0
dinámicos obras que unen:
g++ -o"MyProgram" ./main.o -lboost_thread
vinculación estática:
g++ -static -o"MyProgram" ./main.o -lboost_thread
produce gran número de mensajes como:
referencia indefinida para `pthread_mutex_init '
¿Cómo puedo vincular estáticamente a la biblioteca de Boost?
Esto es casi idéntico a su pregunta anterior http://stackoverflow.com/questions/2328439/boost-static-linking y las publicaciones duplicadas generalmente están mal vistas. –
@Dirk: están relacionados, pero definitivamente son diferentes. La pregunta anterior era cómo decirle al vinculador que use el .a en lugar del .so. Esta pregunta es sobre problemas que suceden una vez que hace eso. Es mejor publicar una nueva pregunta relacionada y luego agregar nuevas preguntas a una existente. –
@Samuel: Estoy corregido, y he aprendido de ti sobre la opción del enlazador '-pthread'. ¡Gracias! –