#c #cmake #mingw
#c #cmake #mingw
Вопрос:
Мне нужно скомпилировать проект на C с использованием CMake и MinGW-w64. Проект зависит от zlib, поэтому CMakeLists.txt содержит:
find_package(ZLIB REQUIRED)
В ZLIB произойдет сбой CMake, если я не добавлю следующий путь к CMAKE_PREFIX_PATH:
C:/Dev/mingw64-8.1.0/x86_64-w64-mingw32/include
С добавлением этого пути CMake работает нормально. Но я получаю следующую ошибку компиляции:
#include_next <stdlib.h>
^~~~~~~~~~
C:/Dev/mingw64-8.1.0/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c /cstdlib:75:15:
fatal error: stdlib.h: No such file or directory
После некоторого поиска по поводу этой последней ошибки я обнаружил, что могу исправить ее, отредактировав файл CMake includes_CXX.rsp и либо:
- Удалить
-isystem C:/Dev/mingw64-8.1.0/x86_64-w64-mingw32/include
- Или измените
-isystem
на-I
Итак, в основном я должен передать путь включения в CMake, чтобы он нашел zlib.h и удалил этот путь из файлов, созданных CMake… Есть ли правильное решение?
Спасибо!