Próbuję użyć skoku cmake do skompilowania aplikacji opartej na doładowaniu w systemie Windows. Biblioteki header tylko działa dobrze, ale cmakes nie znajdzie biblioteki (Następujące biblioteki Boost nie można znaleźć: boost_serialization) Odpowiedni fragment skryptu cmake jest:cmake nie znajduje podkomendnych bibliotek
#path where cmake can find additional libraries
SET(CMAKE_PREFIX_PATH Libs)
#boost
SET(Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0")
SET(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS serialization)
mam folder o nazwie " Libs "wewnątrz mojego projektu, w którym przechowywane są biblioteki stron trzecich, takie jak DevIL i boost, więc ustawiłem to jako pierwsze. Działa dobrze dla Diabła i zwiększa ilość plików tylko nagłówkowych, więc przypuszczam, że nie powinienem potrzebować zmiennej BOOST_ROOT. Instalacja doładowania jest standardową dystrybucją źródeł z boost.org, którą skompilowałem z bjam. Biblioteki są przechowywane w boost_1_47_0 \ bin.v2 \ libs, nie zmieniłem niczego w procesie kompilacji. Myślę, że to trochę dziwne, że folder boost_1_47_0 \ libs nie zawiera żadnych plików bibliotecznych, ale plików bjam i innych rzeczy, ale to nie powinno stanowić problemu, ponieważ ten szew jest normalnym sposobem na zwiększenie poboru w systemie Windows ze źródła.
Spojrzałem na wynik debugowania z FindBoost.cmake (używam domyślnego skryptu z CMake 2.8) i nie szuka go w bin.v2. Zamiast tego wyszukuje boost_ROOT/lib, ale kiedy skopiowałem zawartość z bin.v2 \ libs do lib nadal nie znajduje nic.
Co to jest elegancki sposób na znalezienie bodźca, który będzie również działał na innych platformach ze wspólnymi dystrybucjami bosst?
Przeczytaj instrukcję, poznaj etap i zainstaluj. – mloskot
Przeczytałem instrukcję (http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html), ale skorzystałem z opcji 5.2. Znalazłem katalog stage ze wszystkimi bibliotekami w nim i mogę teraz ustawić to jako katalog biblioteki boost, ale następnym razem wypróbuję opcję 5.3. – JonathanK
Możesz także po prostu skopiować katalog stage i boost (headers), aby stworzyć własną instalację Boost. na przykład boost/-> C: \ boost \ include \ boost i stage/* -> C: \ boost \ lib – mloskot