Kompiluję program, który wymaga biblioteki boost-thread-mt. Zainstalowałem libboost-all-dev, sudo apt-get install libboost-all-dev
ale kompilator mówi, że nie może znaleźć biblioteki boost-thread-mt. Czy ta biblioteka jest w jakimś innym pakiecie? Proszę wskazać mi, co muszę w tym celu zainstalować.
8
libboost-thread-dev
zainstalowany?-mt
głównym pakiecie Boost nie ma bibliotek. Zobacz także to nierozwiązane pytanie.Odpowiedzi:
-mt
Sufiks zostały usunięte. Zainstalowane biblioteki Boost są bezpieczne dla wielu wątków.Możesz skompilować swój program kontra
libboost-thread
. Albo zmieniając źródło, by używało-mt
bibliotek innych niż lib, lub tworząc dowiązania symbolicznelibboost_thread.a
→libboost_thread-mt.a
. To samo, jeśli potrzebujesz wspólnych bibliotek.so
.źródło
AC_CHECK_LIB
check-target-builds
wydaje się, że oferuje taką samą funkcjonalność jak autoconf dla boost.build.Jeśli Twój projekt używa
CMake
, ten wyłącznik znajdujący się w module FindBoost musi się wyłączyć:-DBoost_USE_MULTITHREADED=OFF
źródło
Ten link jest powiązany z tym pytaniem.
Równie dobrze możesz spróbować skompilować boost ze źródła zamiast używać wersji apt-get.
Argumenty
--layout
,threading
ibuild-type
pomoże.Wypróbuj to polecenie, aby zainstalować boost po
bootstrap.sh --prefix=/path/of/yours
:Wtedy dostaniesz wszystkie
-mt
biblioteki.źródło