- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试学习 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/
这has been asked on SO before甚至还有 a related bug on this in CMAKE .但是,我的问题是变体,答案不明确。 我的问题是我正在使用 MinGW
一指定find_library( name PATHS path1..pathn) 我的问题是如何find_library()将名称与库文件匹配(在 Windows 和 Linux 上)? 例如,我无
CMake的find_library如何处理“libFOO.so.3.2”中的版本号?有些库有从 libFOO.so 到正确版本的符号链接(symbolic link),有些则没有。 当我只使用 fi
在我的项目中,我使用了 differend 3rd 库,这些库已经预先构建并添加到 external-debs 子目录中。我使用多个 FindXXX CMake 脚本来定位这些需求。 当我尝试定位 F
我想出了以下 super 简单的 FindMAGMA.cmake 脚本来查找 MAGMA 库,因为周围没有: # - Find the MAGMA library # # Usage: # fin
是否可以调试find_library来自 CMake? 我想要的是经过考虑的路径列表。我的用例是一个像 find_library (FOO_LIBRARY NAMES fo
我的目标是通过 CMake 链接库/usr/lib/libboinc_api.a 和/usr/lib/libboinc.a。因此,我使用不同 FIND_XXXX 模块中给出的示例并尝试: FI
我目前正在创建一组应该在 使用 CLion 的不同项目。我的问题是如何实现这个 功能。 到目前为止,我研究了以下相关问题 这并没有真正解决我的问题: CMake link to external li
在我的 CMake 脚本中,我必须链接到一个库,该库可以有两个不同的名称,具体取决于缓存变量。 库可以是 libMyLibrary.a 或 libMyLibraryCUDA.a,具体取决于 CUDA_
我正在尝试使用来自 ctypes 的命令 find_library() 但我收到一个错误,我不明白它的原因。我在 Windows 上工作 这是代码: import ctypes from ctypes
我目前正在尝试让 CMake 为我的项目运行(在 Windows 上)。我想使用安装所有库的自定义位置。为了让 CMake 知道这条路径,我尝试这样做: set(CMAKE_PREFIX_PATH D
我正在使用 CMake 2.8.2版本。该项目使用了大量外部文件和自定义库(无法通过 find_package 获得),并且有一长串元素,如下所示: find_path(XXX_INCLUDE_DIR
在 cmake 的 find_library 函数的文档中,我们有 The CMake variable CMAKE_FIND_ROOT_PATH specifies one or more dire
这个问题在这里已经有了答案: How to strip trailing whitespace in CMake variable? (4 个回答) 4年前关闭。 我的 CMakeLists.txt
尽管阅读了文档,但我无法弄清楚 CMake 的命令是否为 find_library是否搜索 LD_LIBRARY_PATH 中列出的目录。 我的测试给出了不同的结果。 最佳答案 来自文档(我没有转载与
我用了 list存储库的名称,我想使用 foreach和 find_library找到每个库的完整路径。但是find_library刚刚返回第一个库的路径。我查了 this post ,但问题依然存在
我有一个名为 mylib 的 catkin 库,我用 catkin build 构建了它此外,我有一个节点,其中使用了该库中的函数。我像往常一样在节点的 CMakeLists.txt 中启用此链接:
我在默认安装了 glew 1.10 的 Ubuntu 14.04 上。我想使用最新的 glew 1.13,但是 sudo apt-get remove libglew1.10 不是一个选项,因为 ub
我正在尝试学习 CMake。我有《掌握 CMake》一书,我正在尝试完成我的第一个“简单”教程。 Using CMake: Hello World Example 我顺利地完成了第一部分,但是当我尝试
[注意:这几乎是 Linking to a library that hasn't been built yet with CMake 的副本, 但在这种情况下,未构建的库来自 ADD_CUSTOM_
我是一名优秀的程序员,十分优秀!