- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用 mangrove(基于 mongo-c-driver 和 mongo-cxx-driver 的 mongo ODM 库)并将其作为 CMake ExternalProject_Add 命令包含到我的项目中,依赖于 mongo-c-driver/mongo-cxx-司机
mongocxx 生成名称如下的 CMake 配置脚本:
libmongocxx-config.cmake
libmongocxx-config-version.cmake
使用该脚本通过 mangrove 找到这些没有问题:
set(LIBMONGOCXX_REQUIRED_VERSION 3.1.3)
set(LIBMONGOCXX_REQUIRED_ABI_VERSION v_noabi)
find_package(libmongocxx ${LIBMONGOCXX_REQUIRED_VERSION} REQUIRED)
然而,mongo-c-driver 生成的脚本名称将 ABI 版本包含在文件名中。
libmongoc-1.0-config.cmake
libmongoc-1.0-config-version.cmake
和类似的 CMake 代码:
set(LIBMONGOC_REQUIRED_VERSION 1.7.0)
set(LIBMONGOC_REQUIRED_ABI_VERSION 1.0)
find_package(LibMongoC ${LIBMONGOC_REQUIRED_VERSION} REQUIRED)
找不到脚本。
当然,如果我手动从文件名中删除版本,它可以找到那些文件,但我想在脚本和 mangove 端解决这个问题。
关于 CMake 技术的问题:
是否可以指定(在 CMake 脚本名称中)find_package
命令自动使用的包版本来查找?
最佳答案
根据 find_package文档,版本嵌入在 libmongocxx-config-version.cmake
文件中。
这意味着如果你想获取包 libmongoc-1.0-config.cmake
,你应该使用:
find_package(libmongoc-1.0 ${LIBMONGOC_REQUIRED_VERSION} REQUIRED)
关于c++ - 在配置脚本名称中使用指定版本的 find_package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53971438/
我们有一个 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 的拷贝并稍微更改它并在其中放入一条消息(状态“...”)能够区分它
我是一名优秀的程序员,十分优秀!