2017-10-29 1 views
0

Ich versuche, libzip-1.3.0 unter Windows 10 mit cmake und MSVC2017 zu kompilieren.zlib-1.2.11 ist "zu alt" - kompilieren libzip-1.3.0 will 1.1.2

Ich habe erfolgreich kompiliert, dass neueste zlib (1.2.11), aber wenn ich versuche, libzip zu kompilieren, sagte ich bekommen, dass: ZLIB version too old, please install at least v1.1.2

Meine zlib.h Version Definitionen:

#define ZLIB_VERSION "1.2.11" 
#define ZLIB_VERNUM 0x12b0 
#define ZLIB_VER_MAJOR 1 
#define ZLIB_VER_MINOR 2 
#define ZLIB_VER_REVISION 11 
#define ZLIB_VER_SUBREVISION 0 

der Cmake Befehl ich renne:

cmake .. -G"Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX="C:\devel\lib\libzip" -DZLIB_LIBRARY:FILEPATH="C:\devel\lib\zlib\lib" -DZLIB_INCLUDE_DIR:PATH="C:\devel\lib\zlib" 

habe ich ein old thread im Internet finden, wo jemand anderes ein ähnliches Problem hatte, aber wenn ich mir die betreffenden Teil o f die CMakeLists.txt Datei, es sieht aus wie es ist jetzt richtig:

FIND_PACKAGE(ZLIB REQUIRED) 
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) 
set(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR}) 
IF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2") 
    MESSAGE(FATAL_ERROR "-- ZLIB version too old, please install at least v1.1.2") 
ENDIF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2") 

Also - warum ist zlib 1.2.11 „älter“ als 1.1.2 und wie bekomme ich um dieses und libzip kompilieren?

Antwort

0

Es stellte sich heraus, dass ich Cmake dazu brachte, an der falschen Stelle zu suchen - aber anstatt zu berichten, dass zlib nicht entdeckt wurde, ließ es den Eindruck entstehen, dass es stattdessen eine alte Version gab.

Der Cmake Befehl sollte CMAKE_PREFIX_PATH und zeigen auf Wurzel der zlib Bibliothek (wie unten) verwenden:

cmake .. -G"Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH="C:\devel\lib\zlib" -DCMAKE_INSTALL_PREFIX="C:\devel\lib\lipzip"