Сообщаем CMake, где найти z.lib в Windows - PullRequest
0 голосов
/ 04 июня 2018

Отказ от ответственности: я не программист и не программист.Я просто знаю достаточно, чтобы попасть в беду.Прошу прощения за любые неправильно используемые или неточные термины.

В настоящее время я пытаюсь протестировать установку HDF5 с помощью встроенных тестовых сценариев Пример.Они организованы CMake и скомпилированы gcc (MinGW и MinGW-w64).Когда я иду, чтобы выполнить тестовый сценарий:

ctest -S HDF518_Examples.cmake -C Release -V -O test.log

Меня встречают страницы и страницы ошибок, суть которых заключается в следующем:

mingw32-make.exe[2]: *** No rule to make target 'C:/aroot/stage/Library/lib/z.lib', needed by 'bin/h5ex_d_compact.exe'.  Stop.

Из моих часов попытокисправить это самостоятельно, я смог выяснить, что z.lib является частью библиотечного файла библиотеки ZLIB, вездесущей в наши дни.Я также знаю, что у меня есть по крайней мере одна копия этого конкретного файла в моем каталоге Anaconda в /Library/lib/.

У меня есть два вопроса:

1) Как я могу получить CMake илиMinGW, чтобы узнать, где этот файл, и, следовательно, остановить эту ошибку?Есть ли переменная окружения, которую я могу установить, или файл конфигурации, который я могу изменить?

2) Кроме того, откуда этот путь?На моем компьютере нет каталога C: / aroot /.Мне также не удалось найти генераторы для этого пути ни в одном из файлов CMake, HDF5 или MinGW.Так почему же CMake указывает на этот поддельный каталог?

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 05 июня 2018

Я использую ENVIRONMENT PATH в set_tests_properties для указания зависимых внешних библиотек.

set_tests_properties(${Testname} PROPERTIES  ENVIRONMENT             
                      PATH=${/your/zlib/location} 
                      WORKING_DIRECTORY "${/your/working/directory}/") 
...