Kann nicht angeben, BOOST_ROOT für cmake
Ich habe mehrere Versionen von Boost installiert (Windows 7/MinGW). Ich muss an eine bestimmte (1.53.0).
Definierte ich BOOST_ROOT in der CMakeFiles.txt Datei: SET(BOOST_ROOT C:/boost_1_53_0/)
, aber ich bekomme immer diese Fehlermeldung:
> cmake .
BOOST_ROOT=C:/boost_1_53_0/
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1191 (message):
Unable to find the requested Boost libraries.
Boost version: 1.48.0
Boost include path: C:/Boost/include/boost-1_48
Detected version of Boost is too old. Requested version was 1.53 (or
newer).
The following Boost libraries could not be found:
boost_filesystem
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Ich auch definiert BOOST_ROOT als Umgebungsvariable, aber mit dem gleichen Ergebnis.
Warum ist cmake noch auf der Suche für die alte version?
- Bitte haben Sie einen Blick : Wie kann ich cmake zu finden, mein boost-installation ? stackoverflow.com/questions/3016448/...
- Leider muss ich bauen es auf Windows 7.
- Versuchen Sie
cmake . -DBoost_DEBUG=ON
um mehr Infos zu bekommen über das, was CMake tut. Wenn es nicht finden eine entsprechende version von boost in derBOOST_ROOT
Pfad, den Sie angegeben haben, werde es tragen, auf der Suche im system Ordner. Die version 1.53 kann nicht geeignet sein, z.B. wenn Sie kompiliert boost-shared libs, aber in Ihrem CMakeLists.txt Sie haben nicht angegebenset(Boost_USE_STATIC_LIBS OFF)
. - in meinem CMakeLists.txt Datei habe ich:
SET(Boost_USE_STATIC_LIBS ON)
undSET(Boost_USE_STATIC_RUNTIME ON)
. - Das war nur ein Beispiel, was schief gehen könnte. Es wäre am einfachsten zu Debuggen, wenn Sie fügen Sie die Ausgabe der Ausführung
cmake . -DBoost_DEBUG=ON
und auch die vollständigen Namen der boost 1.53 Bibliotheken (die Namen geben in der Regel ein gutes bisschen info darüber, wie die libs gebaut wurden)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eine vorkompilierte version der Boost-Bibliotheken für Visual Studio, kommen Sie in eine spezifische Aroma der MSVC-version und Bitanzahl. Ich brauchte, um Punkt CMake, um die spezifische Lage, in meinem Fall, die Einstellung zu BOOST_ROOT C:/local/boost_1_59_0 und BOOST_LIBRARYDIR zu C:/local/boost_1_59_0/lib64-msvc-11.0 geholfen.
Versuchen Sie dies:
Ich kämpfte auch mit diesem problem für eine Weile. Wenn dies das gleiche Problem, das ich hatte, dann das problem ist, Sie laufen nicht die CMake Konfiguration komplett frisch ohne cache. Sobald es einmal ausgeführt wird und findet die Standardinstallation (C:\Boost oder /usr/include) wird es weiterhin zu finden, dass man unabhängig vom Wert der BOOST_ROOT. So stellen Sie sicher, um vollständig zu löschen alle generierten build-Dateien. Legen Sie dann BOOST_ROOT zu Ihrem gewünschten separaten installation und es sollte funktionieren.
Dies ist auch erwähnt jaor auf das zuvor verknüpfte Frage: Wie kann ich cmake zu finden, der meine alternative-boost-installation?