【问题标题】:How to compile the Zlib source code using Cmake如何使用 Cmake 编译 Zlib 源代码
【发布时间】:2018-06-01 15:40:11
【问题描述】:

我正在尝试在我用 C++ 编写的 Visual Studio 项目中使用 zlib 库,但我不太确定如何编译它。我正在运行 Windows 7,并且源代码有一个 makefile,所以我想我只需下载 Cmake 来编译它。 Cmake 运行得非常好,没有错误(但有 13 个警告),但现在我只剩下下图中可以看到的内容了。我编译代码的下一步是什么?我认为 Cmake 会编译它,因为我必须在运行 Cmake 时指定 Visual Studio。当尝试打开项目文件(这是 Cmake 产生的)并尝试以这种方式编译源时,我收到一个奇怪的拒绝访问错误。所以是的,我在这个过程中是不是搞错了?

Here's what I see after running Cmake

【问题讨论】:

    标签: c++ visual-studio cmake zlib


    【解决方案1】:

    如果我没记错的话,zlib 确实包含了解决方案文件。它在

    贡献\vstudio\vc14

    再次尝试编译。

    【讨论】:

    • 当我尝试使用它进行编译时,我收到错误消息,指出它无法找到诸如 zconf.h 之类的文件。我应该将解决方案文件放在所有 .c 和 .h 文件所在的主目录中吗?
    • 嗯,这很奇怪。我的编译得很好。你的VS版本是什么?你把所有的文件都解压了吗? P/s:由于 zlib 是一个 C 库,你可能需要在编译之前安装 Universal CRT SDK
    【解决方案2】:

    CMake 是一个高级构建管理器,它生成一个低级构建过程文件。

    您选择使用 Microsoft Visual,因此它会输出 MSVC 项目文件(.vcproject.sln)。下一步是使用 Visual 打开这些文件。

    是的,我在这个过程中是不是搞错了?

    不,你没有。不过,必须调查那个奇怪的访问被拒绝错误。

    【讨论】:

    • 我只能从字面上回答你的问题。向我们提供有关您遇到的错误的更多详细信息,我会更新我的答案。
    • 知道自己走对了路,我感到非常欣慰。这是我尝试编译时看到的。这很奇怪,因为 ALL_BUILD 是 Debug 中的一个文件夹,但 ALL_BUILD 中唯一的东西是另一个名为 ALL_BUILD.tlog 的文件夹,但这是我编译时遇到的错误:i.imgur.com/Jfn63NS.png
    • 原来那个文件夹被设置为只读并且windows不允许我改变它。我尝试时没有收到任何错误,但是当我检查它是否有效时,很明显它没有
    • 您无法运行 ALL_BUILD 目标。它不是可执行文件。它意味着依赖于需要构建的解决方案中的所有项目。因此,如果您编译 ALL_BUILD 目标,您将编译该包所需的所有内容。
    • 当我按下运行和编译按钮时,它会自动尝试从 ALL_BUILD 开始编译。是否有需要更改的设置?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多