gpt4 book ai didi

linux - CMake 帮助 find_path find_library - 我只是不明白

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:00 26 4
gpt4 key购买 nike

我正在尝试学习 CMake。我有《掌握 CMake》一书,我正在尝试完成我的第一个“简单”教程。 Using CMake: Hello World Example

我顺利地完成了第一部分,但是当我尝试为教程的“构建库”部分添加子文件夹时,我只是不明白。我一直按照说明进行操作,直到最后。

**我们已经看到了如何构建程序的示例。现在让我们也创建一个库。该库将被称为“namer”,它将有一个函数“getWorld”,返回最近行星的名称。我们选择将此库放在名为“namer”的子目录中 - 我们把它放在哪里并不重要,这只是一个示例。

我将其作为我的 HelloWorld 项目中的子文件夹。我应该将其作为一个单独的项目吗?

**我们可以帮助 CMake 找到 Namer 包(这将是我们的 namer 库)的一种方法是编写一个名为 FindNamer.cmake 的帮助程序脚本。这只是另一个用 CMake 语言编写的文件,它会在我们的库可能隐藏的所有地方进行探索。这是一个示例(将其放入“hello/FindNamer.cmake”中):

这是我的 FindNamer.cmake 文件:

   find_path(Namer_INCLUDE_DIRS world.h /usr/include "$ENV{NAMER_ROOT}")

find_library(Namer_LIBRARIES namer /usr/lib "$ENV{NAMER_ROOT}")

set(Namer_FOUND TRUE)

if (NOT Namer_INCLUDE_DIRS)
set(Namer_FOUND FALSE)
endif (NOT Namer_INCLUDE_DIRS)

if (NOT Namer_LIBRARIES)
set(Namer_FOUND FALSE)
endif (NOT Namer_LIBRARIES)

**这里的重要部分是“find_path”和“find_library”命令,它们查找头文件 world.h 和命名器库。

我按照接下来的说明进行操作,教程最后包括以下内容:

**如果我们再试一次,配置仍然会失败,因为我们为“find_path”和“find_library”提供的搜索路径实际上并不包含所需的文件。我们可以复制它们,或者在 find_path 和 find_library 中添加一个硬编码目录,指向文件在硬盘上的位置 - 但更好的是,在 Windows 上的 CMake GUI 中或通过运行“ccmake”。在Linux上,我们只需填写那里的目录即可。

此时我完全困惑了(新手!!!)。我没有 NamerConfig.cmake 或 namer-config.cmake 文件,并且我不知道 find_path 和 find_library 应该指向什么。

预先感谢您的帮助,严重困惑:-(

最佳答案

我说我是新手。我想我也有点累了!是的,这些必须位于两个单独的项目中。

关于linux - CMake 帮助 find_path find_library - 我只是不明白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703802/

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