- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
find_package(GTK)
如何让它输出一些东西,以便我知道它是否找到了东西?
平台:windows XP
最佳答案
您可以使用 message命令如:
FIND_PACKAGE(GTK)IF (${GTK_FOUND}) MESSAGE(STATUS "Found GTK.")ELSE (${GTK_FOUND}) MESSAGE(STATUS "Could not locate GTK.")ENDIF (${GTK_FOUND})
或者,如果您希望它在未找到 GTK 时中止:
FIND_PACKAGE(GTK)IF (${GTK_FOUND}) MESSAGE(STATUS "Found GTK.")ELSE (${GTK_FOUND}) MESSAGE(FATAL_ERROR "Could not locate GTK.")ENDIF (${GTK_FOUND})
请注意,如果您执行后者,那么您只需将“REQUIRED”标志与 FIND_PACKAGE 一起使用,因为指定“REQUIRED”标志可确保在未找到时失败并报错:
FIND_PACKAGE(GTK REQUIRED)
如果未找到 GTK,上述命令将导致 CMake 中止并打印错误消息。您可能还对 FIND_PACKAGE 的文档感兴趣来自 CMake Manual .此外,应该注意 FIND_PACKAGE(XYZ) 实际上调用了 CMake 模块 FindXYZ,因此每个具有相应 FIND_PACKAGE 的包都有自己的 CMake 模块来实现查找操作...因为 CMake 仍然有点新,其中一些查找模块是没有正确实现...根据您在下面的评论,似乎 FindGTK 没有正确实现(因为如果它不存在,使用 REQUIRED 标志应该会导致它因 fatal error 而中止,但不会在你的情况下似乎是这样做的)。
关于windows - 我怎么知道 find_package() 在 cmake 中是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2711654/
我们有一个 CMakeLists.txt 链接(例如)opencv 到我们的各种二进制文件。这是按如下方式完成的: find_package(OpenCV REQUIRED core imgproc
我有一个名为 messages 的外部项目.我正在使用 ExternalProject_Add 来获取和构建项目。 如果我使用 find_package(messages REQUIRED)在顶级 C
我有一个带有配置文件支持组件的 cmake 包,例如 find_package(myPack REQUIRED COMPONENTS foo bar) 在 myPackConfig.cmake 中我通
是否有一个变量存储与包版本类似的找到的包的路径? find_package(name) message("name version: ${name_VERSION}") #something like
是否有一个变量存储与包版本类似的找到的包的路径? find_package(name) message("name version: ${name_VERSION}") #something like
我可以在哪里或如何获得 find_package 支持的软件包的完整列表? 我知道这些是模块,所以它们必须驻留在某个地方? 我正在为 C++/ROS 构建在线自动打包系统,我需要一份详细的可用内容列表
我需要使用 mangrove(基于 mongo-c-driver 和 mongo-cxx-driver 的 mongo ODM 库)并将其作为 CMake ExternalProject_Add 命令
这可能是一个新手错误,但我处于学习 python 的早期阶段。 运行 Win7 64 位 Python 是 2.7.2 64 位,python 在 CMD 提示符下运行良好。 I downloaded
我正在尝试将 OpenCv 包含在一个项目中,实际上我的计算机上有 2 倍于该库的相同版本。一种在/good/path 中使用额外的所需函数(Cuda 和 OpenGl 支持)编译,另一种在/old/
我目前正在尝试编写我的第一个重要的 CMake 项目,但我无法检查 FIND_PACKAGE() 的任何输出,因为它似乎没有将值赋予我期望的全局变量!例如,下面的代码: MESSAGE("CMake
CMake manual of Qt 5使用 find_package并说: Imported targets are created for each Qt module. Imported tar
在我的 CMake 项目中,我提供了用户可编辑的 Boost 的默认路径。 set(PATH_BOOST_DEFAULT "/softs/boost/${BOOST_VER}/${ARCH}/gcc/
在我的CMake包中,有一个对find_package的调用。这成功了,太好了!但是,事实证明这是该软件包的错误版本。我现在要删除该程序包。但是,我不知道它在系统上的什么位置,也不知道CMake必须在
当我尝试安装我的包时,它没有安装任何东西。当我手动执行 find_packages 时,它返回一个空列表。 这是我的 setup.py 文件: from setuptools import setup
在文件 CMakelists.txt 中我看到 find_packages 和 catkin_package: find_package(catkin REQUIRED COMPONENTS rosc
当我尝试安装我的包时,它没有安装任何东西。当我手动执行 find_packages 时,它返回一个空列表。 这是我的 setup.py 文件: from setuptools import setup
我正在创建一个 python 包(第一次)并且能够打包内容,但我在打包子目录中的一个数据文件时遇到问题。我的目录结构如下所示 ├── Jenkinsfile ├── MANIFEST.in ├── R
因此,我想创建一个 C 库,该库可以通过 cmake 中的 find_package 函数轻松地在其他项目中使用。具体来说,我想要一个名为 foo 的项目,可以像这样访问: find_package
确保 cmake 仅从特定根目录中查找库和 header 的最佳方法是什么。 假设: 我们只想查看特定目录(例如:/mysdkroot/) 我们要忽略所有不在特定目录中的文件(例如,不应使用/usr/
我试图避免 cmake find_package 使用系统中的 FindJPEG.cmake,我创建了 FindJPEG.cmake 的拷贝并稍微更改它并在其中放入一条消息(状态“...”)能够区分它
我是一名优秀的程序员,十分优秀!