告诉 CMake 在 Windows 中哪里可以找到 z.lib
Posted
技术标签:
【中文标题】告诉 CMake 在 Windows 中哪里可以找到 z.lib【英文标题】:Telling CMake where to find z.lib in Windows 【发布时间】:2018-11-13 17:06:37 【问题描述】:免责声明:我不是软件工程师或程序员。我只是知道足以让自己陷入困境。请原谅任何滥用或不准确的条款。
我目前正在尝试使用内置的示例测试脚本来测试我的 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 库的一个库文件的一部分,这些天无处不在。我也知道我在 /Library/lib/ 下的 Anaconda 目录中至少有一个此特定文件的副本。
我有两个问题:
1) 如何让 CMake 或 MinGW 识别此文件的位置,从而停止此错误?有可以设置的环境变量,或者可以修改的配置文件吗?
2) 顺便说一句,这条路径从何而来?我的电脑上没有 C:/aroot/ 目录。我也无法在任何 CMake、HDF5 或 MinGW 文件中找到此路径的任何生成器。那么为什么 CMake 会指向这个虚假目录呢?
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我在set_tests_properties
中使用ENVIRONMENT PATH
来指定依赖的外部库。
set_tests_properties($Testname PROPERTIES ENVIRONMENT
PATH=$/your/zlib/location
WORKING_DIRECTORY "$/your/working/directory/")
【讨论】:
以上是关于告诉 CMake 在 Windows 中哪里可以找到 z.lib的主要内容,如果未能解决你的问题,请参考以下文章