【发布时间】:2015-02-01 03:44:01
【问题描述】:
我正在尝试使用 cmake 构建 libpng。为此,将 zlib 包含目录和 zlib 库的变量传递给 cmake。像这样:
cmake .. -DZLIB_LIBRARY=../../zlib-1.2.8/build/$(Configuration)/zlib.lib -DZLIB_INCLUDE_DIR=../../zlib-1.2.8/
在发布版本中完美运行 - 但在调试版本中不适用。它几乎可以工作 - 我在路径中使用 $(Configuration) ,它将在 MS VS 中使用“调试”或“发布”,具体取决于配置。但是 mt 的问题是,zlib 在调试和发布模式下使用不同的文件名。喜欢:
zlib.lib zlib.dll(发布)
zlibd.lib zlibd.dll(调试)
如果我使用上面的命令,它将搜索库:
../../zlib-1.2.8/build/Release/zlib.lib(发布 -> 工作)
../../zlib-1.2.8/build/Debug/zlib.lib (Debug -> 不起作用,因为文件名是 zlibd.lib)
任何想法如何根据 cmake 的配置完成不同的库名称(我不想在生成的 VS 项目中更改它)?
【问题讨论】: