Boost-Libs im VS, warum so viele Konfigurationen?



  • Ich hab mir grade die neueeste Boost-Lib erstellt und zwar mit folgendem Kommando:

    bjam --build-dir="d:\boost" --build-type=complete --toolset=msvc stage

    Wenn ich das "complete" weglasse, macht er ja nur die release-Version und dann kann ich nicht im debug-Mode erstellen, weil der Linker die Lib nicht findet. Soweit so normal.

    Nun habe ich mal geschaut, was der alles erstellt und frage mich: warum sind das so viele Libs pro Teilbibliothek??? Ich meine normal wäre doch 4: MT, MT-debug , MD, MD-Debug.

    Ich hab mal die Dateien zu Filesystem hier reinkopiert:

    boost_filesystem-vc80-mt-1_35.lib
    boost_filesystem-vc80-mt.lib
    boost_filesystem-vc80-mt-gd-1_35.lib
    boost_filesystem-vc80-mt-gd.lib

    libboost_filesystem-vc80-mt-1_35.lib
    libboost_filesystem-vc80-mt.lib
    libboost_filesystem-vc80-mt-gd-1_35.lib
    libboost_filesystem-vc80-mt-gd.lib
    libboost_filesystem-vc80-mt-s-1_35.lib
    libboost_filesystem-vc80-mt-s.lib
    libboost_filesystem-vc80-mt-sgd-1_35.lib
    libboost_filesystem-vc80-mt-sgd.lib
    libboost_filesystem-vc80-s-1_35.lib
    libboost_filesystem-vc80-s.lib
    libboost_filesystem-vc80-sgd-1_35.lib
    libboost_filesystem-vc80-sgd.lib

    boost_filesystem-vc80-mt-1_35.dll
    boost_filesystem-vc80-mt-gd-1_35.dll

    Sind denn da wirklich so viele nötig? Oder sollte man beim Erstellen doch nicht das "complete" sondern was anderes nehmen?



  • Ich hab auch schon vergessen für was die einzelnen Buchstaben stehen. Guck doch einfach nach, steht IMO auf der Homepage, und im auto_link.hpp File kann man's auch relativ leicht rausfinden.

    Die "*-1_35.lib" dürften einfach nur Kopien sein, weil manche einfach nur gegen Boost linken wollen (egal welche Version, die "aktuelle" halt), und andere wieder explizit gegen die 1.35 linken wollen.

    Schätzung:

    boost_filesystem-vc80-mt-1_35.lib
    boost_filesystem-vc80-mt.lib

    boost als DLL, multithreaded DLL runtime

    boost_filesystem-vc80-mt-gd-1_35.lib
    boost_filesystem-vc80-mt-gd.lib

    boost als DLL, multithreaded DLL runtime debug

    libboost_filesystem-vc80-mt-1_35.lib
    libboost_filesystem-vc80-mt.lib

    boost als LIB, multithreaded DLL runtime

    libboost_filesystem-vc80-mt-gd-1_35.lib
    libboost_filesystem-vc80-mt-gd.lib

    boost als LIB, multithreaded DLL runtime debug

    libboost_filesystem-vc80-mt-s-1_35.lib
    libboost_filesystem-vc80-mt-s.lib

    boost als LIB, multithreaded LIB runtime

    libboost_filesystem-vc80-mt-sgd-1_35.lib
    libboost_filesystem-vc80-mt-sgd.lib

    boost als LIB, multithreaded LIB runtime debug

    libboost_filesystem-vc80-s-1_35.lib
    libboost_filesystem-vc80-s.lib

    boost als LIB, multithreaded LIB runtime - kopie unter anderem namen, weils mal eine singlethreaded LIB runtime gab (bis VC 7.1), also um zu bestehenden build-scripts kompatibel zu bleiben

    libboost_filesystem-vc80-sgd-1_35.lib
    libboost_filesystem-vc80-sgd.lib

    boost als LIB, multithreaded LIB runtime debug - kopie weil ... siehe oben


Anmelden zum Antworten