J'essaye de compiler libzip sous Windows en utilisant CMake pour générer des fichiers makefiles. Libzip a besoin zlib donc je fais ce qui suit:CMake: Définir le chemin zlib
mkdir build
cd build
cmake -DZLIB_LIBRARY=../../../zlib-1.2.11 -DZLIB_INCLUDE_DIR=../../../zlib-1.2.11 ..
Cela ne fonctionne pas, cependant. Je reçois l'erreur suivante:
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Pourquoi est-ce? J'ai défini ZLIB_LIBRARY
et ZLIB_INCLUDE_DIR
pour pointer vers le dernier zlib.
J'ai aussi essayé les éléments suivants:
mkdir build
cd build
cmake .. -DZLIB_LIBRARY=../../../zlib-1.2.11 -DZLIB_INCLUDE_DIR=../../../zlib-1.2.11
Quand je lance CMake comme ça, je reçois les deux avertissements suivants:
CMake Warning:
Manually-specified variables were not used by the project:
ZLIB_INCLUDE_DIR
ZLIB_LIBRARY
Par rapport à la première approche, cependant, construire les fichiers sont maintenant écrits dans mon répertoire de construction. Lors de l'exécution nmake
, cependant, seul zlib semble être construit. libzip lui-même n'est pas construit du tout.
Je suis à court d'idées ici. Qu'est-ce que je fais mal?
[Documentation] (https://cmake.org/cmake/help/v3.2/module/FindZLIB.html) suggère d'utiliser 'ZLIB_ROOT' comme un indice pour CMake sur l'emplacement de zlib. Alternativement, vous pouvez [utiliser] (https://stackoverflow.com/questions/34795816/hinting-findname-cmake-files-with-a-custom-directory/34797156#34797156) * CMAKE_PREFIX_PATH * dans le même but. – Tsyvarev
La définition de 'ZLIB_ROOT' génère l'erreur suivante: CMake Erreur dans C:/Program Files (x86) /CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message): Impossible de trouver ZLIB (manquant: ZLIB_LIBRARY) (trouvé la version "1.2.11") – Andreas
Cette erreur signifie qu'il peut trouver les en-têtes, mais pas la bibliothèque elle-même. – MuertoExcobito