Ich versuche herauszufinden, welche Komponenten für Find
in CMakeList.txt für boost
-Bibliotheken sind.
Ich habe dieses Verzeichnis /usr/local/include/boost
angesehen. Und ich wähle zufällig einige der Ordner aus und versuche, FIND_PACKAGE
zu verwenden. Dies alles funktioniert gut.
Das besondere, das ich verwende, ist property_tree
. Es funktioniert nicht und die folgende Fehlermeldung wird angezeigt:
CMake-Fehler bei /Applications/CMake.app/Contents/share/cmake-3.1/Modules/FindBoost.cmake:1182 (Nachricht):
Die angeforderten Boost-Bibliotheken konnten nicht gefunden werden.
Boost-Version: 1.55.0
Boost include Pfad: / usr / local / include
Folgende statische Boost-Bibliotheken konnten nicht gefunden werden:
%Vor%
Könnte jemand erklären, wie oder wo ich die richtigen Bibliotheksnamen für Boost finde?
Der COMPONENTS
-Teil von FIND_PACKAGE
sucht nur nach kompilierten Bibliotheken. Es ist nicht in der Lage, nach den Header-Only-Bibliotheken zu suchen, die einen Hauptteil von Boost ausmachen. Es gibt nur ein paar Bibliotheken, die verlinkt werden müssen (meistens diejenigen, die plattformspezifische Dinge ausführen).
Aus Ihren Beispielen müssen nur thread
, signals
(im Gegensatz zu signals2
, das nur für den Header ist), system
und program_options
vorher erstellt und dann mit Ihrem Programm verknüpft werden. Im Übrigen genügt es, die relevanten Header-Dateien einzubinden.
Daher ist es ausreichend, ${Boost_INCLUDE_DIRS}
zu den Include-Verzeichnissen Ihres Ziels hinzuzufügen.
Hier finden Sie eine Liste der Bibliotheken dieser Bibliotheken. Welche Boost-Bibliotheken sind nur für den Header gedacht ?