删除变量的特定部分

2023-12-22

我想从 CMake 变量中删除特定库。

Suppose LIB包含变量“A;B;C”的值, 我知道用set像这样添加另一个变量“D”的内容

set(LIB ${LIB};D)

但是我试图从中删除“C”LIB喜欢关注

unset(LIB C)

这段代码不起作用。 有谁知道这样做的好方法?


不是这样的unset作品。在你的例子中,unset(LIB C)取消设置两个变量LIB and C。它不会删除C一部分来自LIB.

由于所有变量都是 CMake 中的内部字符串,因此您应该使用string(REPLACE)。在你的情况下

string(REPLACE C "" LIBwithoutC LIB)

替换所有出现的C空字符串并将结果存储在LIBwithoutC。您可能需要对此进行微调以删除多余的分号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除变量的特定部分 的相关文章

  • 如何防止 CMake 在构建时(而不是安装时)为共享库创建符号链接?

    我正在使用 CMake 在 Linux 上使用 Bullet3 构建一个项目 在构建整个解决方案时 它会构建附加了 SOVERSION 的 Bullet 输出库 并创建一个不带版本的符号链接 对于我的特定场景 我不喜欢这种行为 并且我不想编
  • 如何将最新的 Windows SDK 版本传递给 CMake?

    如何将最新的 Windows SDK 版本传递给 CMake 这样我就不需要进入 Visual Studio 并从配置属性 常规中手动放置它 我在互联网上搜索 找到了 CMAKE SYSTEM VERSION 变量 并且尝试使用 set C
  • CMake 警告:无法为目标生成安全的链接器搜索路径

    在为 pcl 项目运行 CMake 时 我收到一条警告消息 Configuring done CMake Warning at CMakeLists txt 12 add executable Cannot generate a safe
  • 了解 CMake 背后的目的[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我试图理解 CMake 背后的目的 为什么它被设计成现在这样 以下是我想回答的一些问题 为什么CMake会生成生成文件 https e
  • 将 gcov 与 CMake/CDash 结合使用的详细指南?

    我在我的项目中使用 CMake 并设置了 cdash 服务器以进行连续 夜间构建 一切运行良好 通过设置 crontab 我们可以将每小时 每晚的构建 测试结果自动上传到我们的 cdash 服务器 我的下一步是将测试覆盖率报告添加到构建中
  • CMake - 未定义参考

    我正在尝试将 gtest 包含到我的项目中 问题是我在 GTest 中收到未定义的引用错误 我正在尝试在 Gtest 中测试 Node 类 在节点的构造函数中 我使用类记录器 尽管我已将库记录器添加到 gtest target 中 但我仍然
  • 使用cmake交叉编译gRPC

    我正在尝试使用 cmake 交叉编译 gRPC 我实际上做到了 不幸的是 我的方法涉及在 CMakeLists txt 内部进行修改 问题是 当我尝试编译 gRPC 时 它使用的是他刚刚编译的 protobuffer 它无法在 x86 计算
  • 如何在cmake中将构建类型更改为Release模式?

    我正在尝试以发布模式构建一个项目 默认情况下它是在调试模式下构建的 我正在设置变量CMAKE BUILD TYPE到 释放 CMakeLists txt 但它仍在调试模式下构建项目 当我在 CMake 命令中传递 Release 作为构建类
  • CMake:如何更改单个目标的编译器

    我有使用交叉编译器的嵌入式项目 我想介绍一下Google测试 用原生GCC编译器编译 另外使用 CTC 编译器构建一些单元测试目标 Briefly 我有 3 个不同的目标并用 3 个不同的编译器编译它们 如何表达它CMakeLists tx
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 如何在 CMake 中运行基本的“add_custom_command”

    我只是想启动并运行一个基本的 CMake 示例 它可以运行一些基本的命令行命令 我已经研究这个有一段时间了 但没有任何运气 我完全用错了吗 任何和所有的意见将不胜感激 cmake minimum required VERSION 3 0 a
  • 使用 CLion IDE 运行 Opengl 程序 [重复]

    这个问题在这里已经有答案了 我知道这个问题已经被问过 但提供的解决方案确实对我不起作用 我想通过 CLion IDE 运行我的 OpenGL 程序 我可以通过 Ubuntu 中的终端运行相同的程序 gcc progname c lglut
  • 如何在cmake中静态链接到glibc

    我正在尝试从 Fedora 构建一个可以在 RedHat 6 机器上运行的包 所以我需要构建和静态链接一些RedHat机器中不存在的库 我发现我可以你 static libgcc or static libstdc 与标准库的静态版本链接
  • CMakeLists.txt:30(项目)处的 CMake 错误:找不到 CMAKE_C_COMPILER

    我正在尝试使用 CMake 制作 Visual Studio 解决方案来编译最新版本的 aseprite 并且 CMake 不断向我提供 No CMAKE C COMPILER could be found No CMAKE CXX COM
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 如何有条件地将 ALL 选项添加到 add_custom_target()?

    我想有条件地包含目标docs html to ALL如果用户选择 DO HTML 切换cmake gui 如何避免这种丑陋的代码重复 cmake minimum required VERSION 3 3 FATAL ERROR projec
  • Visual Studio 2022 CMake 预设

    我在我的项目中使用 CMake 并开始探索 CMakePresets 的可能性 我设法创建了一个默认的 Windows 预设 目前我的 Windows 默认预设将 CMAKE BUILD TYPE 设置为调试 现在我想在左侧下拉列表中选择配
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • CMake:运行链接命令时出错:%1 不是有效的 Win32 应用程序

    我正在尝试使用 CMake 在 64 位 Windows 8 1 上构建 NaCl 扩展 相同的代码在 Ubuntu 上运行没有任何问题 一切顺利 直到 CMake 尝试与此命令链接 cmake E cmake link script li
  • 如何将 qmake 转换为 cmake?

    我有一个 pro我的项目上的文件 但现在我想将其移植到CMakeLists txt文件 我怎样才能做到这一点 QT core QT gui CONFIG c 11 TARGET test CONFIG console CONFIG app

随机推荐

  • 将组件对齐到所需位置

    寻求帮助来设计如下所示的布局 我面临的主要挑战是将组件对齐到所需的位置 请参考三个按钮 图标 及其位置 从字面上看 就是发疯 思考如何将它们准确地放置在所需的位置 任何帮助深表感谢 问候 罗尼 由于您使用了 Android 类别 我假设您正
  • 如何使用 JavaScript 触发“isTrusted=true”点击事件?

    我正在尝试使用 Chrome 扩展来模拟用户点击和鼠标移动 例如 在我的内容脚本中 有一个按钮单击 document querySelector SOME SELECTOR click 该行触发具有以下属性的单击事件 MouseEvent
  • Maven原型:修改artifactId

    在进行项目时 我的要求是创建一个模块 该命令将类似于 mvn archetype generate DarchetypeCatalog local DartifactId test module 并且目标应该具有以下文件结构 test mo
  • PJSIP 库中的 TLSv1_2 (TLS1.2) 支持

    我正在使用最新的PJSIP http www pjsip org 我的 Android iOS 应用程序中的库 我想在我的项目中使用 TLSv1 2 连接 PJSIP 支持哪个 TLS 版本 从源代码来看它似乎支持TLSv1 0 有没有办法
  • 如何获取checkbox的值

    如何获取复选框的值 var tb new Ext Toolbar tb add xtype checkbox boxLabel Expand Groups by Default id GetChkBoxValue checked true
  • 应用程序终止自身最暴力的方式是什么(linux)

    我想模拟暴力系统关闭 即在应用程序级别尽可能接近断电 我们正在讨论 Linux 上的 c c 应用程序 我需要应用程序自行终止 目前我看到几个选项 call exit http linux die net man 3 exit call e
  • SortedSet - 存储类对象时的自定义顺序

    我正在考虑用 SortedSet 替换 HashSet 因为它更适合我存储的数据 然而 到目前为止我看到的所有示例都与存储简单对象有关 整数 字符串等 我想为具有多个属性的自定义类实现此功能 但是该类还包含一个我想用作 索引器 的日期 问题
  • 将长时间运行的任务分配到多个帧上的最佳方法是什么?

    我有多个长时间运行的任务 例如超过 10 毫秒 这会影响浏览器的响应能力 最糟糕的事情 例如从文件加载和解析 3D 模型 已经被卸载到 Web Workers 这样它们就不会影响渲染循环 然而 有些任务不容易移植到 Workers 因此必须
  • 警告:sprintf() [function.sprintf]:第 132 行 /home/inrunitc/public_html/chek/chek.php 中的参数太少

    Warning sprintf function sprintf Too few arguments in home inrunitc public html chek chek php on line 132 Query was empt
  • 在hive中向外部表添加分区需要花费大量时间

    我想知道向外部表添加分区的最佳方法是什么 我在 hive 的 S3 上有一个外部表 分区为 车辆 日期 小时 现在 可以在一天中的任何时间添加新车辆 并且有些车辆在一天中的几个小时或几天内没有数据 几种可能的解决方案 msck修复表 需 要
  • 如何解决 Apache-Beam 中的 Beam DeprecationWarning

    第一的 生成简单数据后将数据存储在谷歌云平台bigQuery表中的代码 导入 Apache Beam 库并使用它 跑步者使用了 Google Cloud Platform Dataflow 这里是代码 from apache beam op
  • numpy.dot -> MemoryError,my_dot -> 非常慢,但有效。为什么?

    我正在尝试计算两个大小分别为 162225 10000 和 10000 100 的 numpy 数组的点积 但是 如果我调用 numpy dot A B 则会发生 MemoryError 然后 我尝试编写我的实现 def slower do
  • MySQL 间隙锁定

    我有一张桌子叫tree nodes 在那里我存储了节点的 树表示 我的主题树是在持有者的上下文中创建的 所以 有一个专栏叫做holder id 我有一个事务方法 它会从此表和其他表中进行多次读取 以确定应从树中添加 删除哪些节点 我的应用程
  • 使用 Delve 进行 vscode 调试问题

    当我在 Visual Studio Code 中调试 Go Lang 代码时 出现以下错误消息 2018 04 03 18 19 32 server go 73 Using API v1 2018 04 03 18 19 32 debugg
  • android 父 Activity 在 startActivity 上被杀死

    我有一个带有列表视图的简单应用程序 当用户点击列表项时 我开始一个新活动 Intent eventdetails new Intent HomeActivity this EventDetailsActivity class eventde
  • 基本类型的复制/赋值

    标准对基本类型的复制 赋值有何规定 对于类类型 我们有复制构造函数 赋值运算符 它们将右侧作为引用 它必须是引用 否则我们会无限递归 struct Foo Foo const Foo 这是如何定义基本类型的 看这个例子 const Foo
  • 在C++中创建模板时是否可以找到sizeof(T)?

    我正在尝试构建一个模板 让我可以使用可调整大小的数组 有没有办法找到sizeof T 我使用 malloc 而不是 new 因为我想在调整数组大小的函数中使用 realloc 这是我的类的构造函数出现错误 template
  • getElementsbyClassName 未显示[重复]

    这个问题在这里已经有答案了 我正在使用以下代码 当我现在点击按钮时
  • 使用 MVC 模型显示只读文本

    我有一个 MVC 模型 其属性定义为 DisplayName Service Version public string ServiceVersion get set 在屏幕上 我希望它显示为 服务版本 0 1 ServiceVersion
  • 删除变量的特定部分

    我想从 CMake 变量中删除特定库 Suppose LIB包含变量 A B C 的值 我知道用set像这样添加另一个变量 D 的内容 set LIB LIB D 但是我试图从中删除 C LIB喜欢关注 unset LIB C 这段代码不起