gpt4 book ai didi

cmake - 包与库

转载 作者:行者123 更新时间:2023-12-02 05:01:23 25 4
gpt4 key购买 nike

我刚刚开始使用 CMake,我注意到它们都有 find_packagefind_library .这让我很困惑。有人可以解释编程世界中包和库之间的区别吗?或者,在 CMake 的世界里?

欣赏它,伙计们!

最佳答案

假设你想在你的项目中使用zlib,你需要找到头文件zlib.h , 和图书馆 libz.so (在 Linux 上)。您可以使用低级 cmake 命令 find_pathfind_library找到它们,或者您可以使用 find_package(ZLIB) .后面的命令将尝试找出使用 zlib 所需的所有内容。它可以是额外的宏定义或依赖项。
更新,关于 find_package 的更多细节 : 当 CMake 命令 find_package(SomeThing)被称为,as in the documentation ,cmake可以运行两种可能的模式:

  • 模块模式(搜索文件 FindSomeThing.cmake )
  • 或配置模式(搜索名为 SomeThingConfig.cmake 的文件)

  • 对于 ZLIB,有一个名为 FindZLIB 的模块,随 CMake 本身一起提供(在我的 Linux 机器上是文件 /usr/share/cmake/Modules/FindZLIB.cmake )。该模块是一个 CMake 脚本,它使用 CMake API 在默认位置搜索 ZLIB 文件,或者如果无法自动找到该位置,则向用户询问该位置。

    关于cmake - 包与库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23832339/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com