Estoy compilando un programa que requiere la biblioteca boost-thread-mt. He instalado libboost-all-dev usando sudo apt-get install libboost-all-dev
pero el compilador dice que no puede encontrar la biblioteca boost-thread-mt. ¿Esta biblioteca está en algún otro paquete? Guíeme lo que necesito instalar para esto.
8
libboost-thread-dev
instalado?-mt
bibliotecas en el paquete Boost principal. Vea también esta pregunta sin resolver.Respuestas:
El
-mt
sufijo había sido eliminado. Las bibliotecas Boost instaladas son seguras para subprocesos múltiples.Puedes compilar tu programa versus
libboost-thread
. Cambiando la fuente para usar no-mt
libs o haciendo enlaces simbólicoslibboost_thread.a
→libboost_thread-mt.a
. Lo mismo si necesita bibliotecas compartidas.so
.fuente
AC_CHECK_LIB
check-target-builds
parece ofrecer la misma funcionalidad de autoconf para boost.build.Si su proyecto usa
CMake
, este siguiente interruptor proporcionado en el módulo FindBoost tiene que apagarse:-DBoost_USE_MULTITHREADED=OFF
fuente
Este enlace está relacionado con esta pregunta.
También puede intentar compilar boost desde la fuente en lugar de usar la versión apt-get.
Los argumentos
--layout
,threading
ybuild-type
ayudarán.Entonces, intente este comando para instalar boost, después de
bootstrap.sh --prefix=/path/of/yours
:Entonces obtendrás todas las
-mt
bibliotecas.fuente