在 cmake 中命名可执行文件

2023-12-10

我正在开发一个项目并决定将其移植到 CMake。在配置时,我使用了占位符构建名称 build;没有遇到任何问题。但当我把名字改成S&W,CMake 不让我构建。它产生了错误消息:

[cmake] CMake Error at CMakeLists.txt:28 (add_executable):
[cmake]   The target name "S&W" is reserved or not valid for certain CMake features,
[cmake]   such as generator expressions, and may result in undefined behavior.

我很确定这个名字S&W不被 CMake 保留。

那么为什么会发生这种情况呢?我可以做些什么来修复这个错误吗?

cmake_minimum_required(VERSION 3.14)
project(S&W)

include_directories("source")
include_directories("dependencies/include")

file(GLOB_RECURSE SRC "source/*.cpp")
LINK_DIRECTORIES("dependencies/lib/x86")

if ( MINGW )
set(CMAKE_EXE_LINKER_FLAGS  "-static-libgcc -static-libstdc++")
LINK_LIBRARIES("mingw32")
endif ( MINGW )

LINK_LIBRARIES("libSDL2main.a")
LINK_LIBRARIES("libSDL2.dll.a")
LINK_LIBRARIES("libSDL2_mixer.dll.a")

add_executable(${PROJECT_NAME} ${SRC}) 

该错误表明您无法声明target其中包含一些特殊符号(&在你的情况下)。

但是,这并不意味着您无法生成file与给定的名字。只需创建“正常”可执行目标,但分配输出名称它的属性:

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

在 cmake 中命名可执行文件 的相关文章

  • 为 CMake 中的子目录生成“干净”目标

    我想生成一个clean子目录的目标 我的项目结构是这样的 app A B lib A B C 有时我只想在 app A 上运行干净 并且不想清理库 是否可以告诉 CMake 生成clean每个目录的目标 或者像这样的自定义目标应用程序清理哪
  • 在 Ubuntu 16.04 上编译 PCL 1.7,CMake 生成的 Makefile 中出现错误

    我正在尝试让 PCL 1 7 点云库 而不是其他 pcl 在 Ubuntu 16 04 上运行 我最终希望用于 C 的东西 但现在我只是想让这些例子工作 我使用的是 Ubuntu GNU 5 3 1 附带的默认编译器和 Cmake 版本 3
  • 针对 dll/lib 的 cmake 链接

    我的 cmake 的输出是一个静态库 我正在这样创建它 add library myMainLib STATIC BACKEND SOURCES 当我尝试让 myMainLib 链接到第三方 lib dll 时 出现了问题 dll 文件将在
  • 在 CMake 中,CHECK_INCLUDE_FILE_CXX 如何工作?

    以下代码不打印任何内容 CHECK INCLUDE FILE CXX glog logging h GLOG INCLUDE IF GLOG INCLUDE MESSAGE YY ENDIF GLOG INCLUDE 但我设置了以下环境变量
  • 如何使用 CMake 安装文件层次结构?

    我使用以下方法创建了文件列表 file GLOB RECURSE DEPLOY FILES PROJECT SOURCE DIR install 我想将所有这些文件安装在 usr myproject 但我想维护已安装文件夹上的文件树 ins
  • 为什么 cmake 在 git commit 后编译所有内容

    假设我有时在 Linux 上使用 cmake 2 8 编译一段代码 我更改了一个文件 my changed file 运行 cmake 并且只构建了这个文件 到目前为止 一切都很好 现在我想提交这个 git add my changed f
  • 将 dll/lib 链接到 cmake 项目

    我试图将库链接到我的 cmake 项目 但遇到链接器错误 我花了 2 个小时尝试解决这个问题 并创建了一个简单的项目 在其中对所有路径进行了硬编码 CMAKE MINIMUM REQUIRED VERSION 3 0 PROJECT Tes
  • Yocto 如何停止 cmake 在本机 sysroot 路径中查找链接?

    到目前为止 我正在尝试将 dlib python 模块添加到我的图像中 这是我正在研究的食谱 python3 dlib 19 21 1 bb SUMMARY A toolkit for making real world machine l
  • 动态加载库和共享全局符号

    由于我在动态加载的库中观察到全局变量的一些奇怪行为 因此我编写了以下测试 首先我们需要一个静态链接库 头文件test hpp ifndef BASE HPP define BASE HPP include
  • 如何将最新的 Windows SDK 版本传递给 CMake?

    如何将最新的 Windows SDK 版本传递给 CMake 这样我就不需要进入 Visual Studio 并从配置属性 常规中手动放置它 我在互联网上搜索 找到了 CMAKE SYSTEM VERSION 变量 并且尝试使用 set C
  • 使用 CMake 和 clang 在 Windows 上构建简单的 C++ 项目

    我正在尝试在 Windows 10 上构建一个简单的 Hello World 程序 最好使用 CMake 和 clang 如果我使用 MinGW 的 g 编译器 我可以成功编译 链接和运行同一个项目 但当我尝试使用 clang 时会遇到问题
  • CMake:从多行文本文件获取版本

    我有一个文件version txt VERSION MAJOR 1 VERSION MINOR 1 VERSION PATCH 3 我想使用 cmake 添加主要 次要和补丁的定义 我尝试过使用 file STRING version tx
  • 将 gcov 与 CMake/CDash 结合使用的详细指南?

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

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 在 CMake 中使用 GLOB 指定源文件还是单独指定每个文件更好?

    CMake 提供了多种方法来指定目标的源文件 一种是使用通配符 文档 https cmake org cmake help latest command file html 例如 FILE GLOB MY SRCS dir 另一种方法是单独
  • CMake:如何更改单个目标的编译器

    我有使用交叉编译器的嵌入式项目 我想介绍一下Google测试 用原生GCC编译器编译 另外使用 CTC 编译器构建一些单元测试目标 Briefly 我有 3 个不同的目标并用 3 个不同的编译器编译它们 如何表达它CMakeLists tx
  • CMake 添加对安装目标的依赖

    我在使用cmake时遇到以下问题 我使用 UseDoxygen 来自http tobias rautenkranz ch cmake doxygen http tobias rautenkranz ch cmake doxygen 为我的图
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 使用 QWT 构建时出错

    我收到一个错误 undefined reference to QwtPlot QwtPlot QWidget 当我尝试构建我的项目时 即使设置中一切看起来都很好 在我的 CmakeLists txt 中我有 include director

随机推荐

  • 当组合根位于客户端时如何在 WCF 中注入依赖项

    在开始之前 我必须说 我可能咬得太多 但我正处于绝望的学习狂潮中 我需要很多帮助 我正在编写一个练习 从两本书中获取样本 1 Net 中的依赖注入 作者 Mark Seemann2 Brian Egan 和 Steve Valenzuela
  • React-router transitionTo 不是一个函数

    import React from react import Router Link Navigation from react router export default class ResourceCard extends React
  • 子图之间的箭头

    我决定玩玩this示例代码一点 我能够弄清楚如何在两个子图之间绘制一条直线 即使该线位于其中一个子图的边界之外 import matplotlib pyplot as plt import matplotlib as mpl import
  • 在 Python 中通过管道传输到脚本时无法启动交互式程序

    我有一个 python 脚本需要调用定义的 EDITOR or VISUAL 当单独调用 Python 脚本时 我可以启动 EDITOR没有任何问题 但是当我将某些内容传输到 Python 脚本时 EDITOR无法启动 现在 我正在使用 n
  • 在expect中使用argc和argv解析命令行

    我有一个期望例程 它需要生成一个进程并将我传递给期望例程的命令行参数传递给生成的进程 我的期望例程有以下几行 spawn myProcess argv 当我调用我的期望例程时 我从命令行调用它 如下所示 expect myRoutine
  • 停止并重新启动 VGG-16 上的训练

    我正在使用预训练的 VGG 16 模型进行图像分类 我添加了自定义最后一层 因为我的分类类数量为 10 我正在对模型进行 200 轮训练 我的问题是 如果我随机停止 通过关闭 python 窗口 在某个时期的训练 有什么办法吗 假设时期没有
  • SSRS:我可以知道用户是否在多值参数中选择了“ALL”吗?

    客户希望我重复报告页眉中的参数值 但是 如果他们只是在多值参数上选择 全选 则他们希望列出文本 任意 例如 一个参数具有一组固定的 9 个值 我将文本框的表达式硬编码为 Room Size iif Parameters pRoomCap C
  • Python Numpy Loadtxt - 转换 unix 时间戳

    我有一个包含许多行数据的文本文件 每行中的第一条数据是一个 unix 时间戳 例如1436472000 我在用numpy loadtxt在转换器的参数中 我想指定它将时间戳转换为 numpy 理解的日期时间 我知道这需要在0 在大括号中 但
  • 将运算符作为参数传递给 C 中的函数

    我想将大于 gt 和小于 你可以用宏做一些可怕的事情 但一般来说 不 你不能这样做 您通常接受两个参数函数并调用它 并且该函数可以使用 gt or lt 酌情参见the sort docs举个例子 也就是说 它不是超级高效 通过指针调用函数
  • Spring-Jersey 应用程序的 JerseyTest 中的资源模型验证失败

    我有一个带注释的 Spring Jersey 应用程序 我正在尝试使用以下命令为我的控制器设置单元测试JerseyTest 我在运行测试时遇到以下错误 但我无法弄清楚 我错过了什么 SEVERE Following issues have
  • Android:图像保存到位置

    我正在努力显示一组图像 然后如果用户愿意 可以将图像保存到 SD 卡上 我需要帮助将它们保存到外部存储 有人可以帮我解决这个问题吗 网格视图 public void onCreate Bundle savedInstanceState su
  • 对 3 维数组中每行的深度值求和

    我需要计算每个第一级元素的深层元素的总和 3 级数组示例 1 gt A gt AA gt 3 AB gt 5 B gt BA gt 2 2 gt C gt CA gt 4 D gt DA gt 1 DB gt 2 3 gt E gt EA
  • 在 WCF 中获取“在线”消息大小

    当我对 WCF 进行 SOAP 或 REST 调用时 我希望任一端 客户端和服务器 上的通道堆栈记录接收到的数据的在线大小 所以我猜我需要向两侧的通道堆栈添加自定义行为 也就是说 在服务器端 我将记录接收到的 IP 标头通告的大小 累计 直
  • AVX2 编译的程序仍然可以使用支持 AVX-512 的 CPU 的 32 个寄存器吗?

    假设以 AVX2 为目标的编译和 C 内在函数 如果我编写一个 nbody 算法 每个 body body 计算使用 17 个寄存器 第 17 个寄存器可以间接 寄存器重命名硬件 或直接 Visual Studio 编译器 gcc 编译器
  • 通过 PersonID 获取每个 Person 的 SUM

    我的表中有以下列 SCORE ID SCORE PERSON ID SCORE VOTE SCORE PERSON ID 是一个变量 我需要对每个 SCORE PERSON ID 的 SCORE VOTE 求和 你能建议一个好方法吗 你需要
  • 类型错误参数过多

    运行此代码时 出现错误 第 8 行参数过多 我不确定如何修复它 Defining a function to raise the first to the power of the second def power value x y re
  • Mongodb 错误:子进程失败,退出,错误号 51

    mongodb 由于某种原因关闭了 系统异常关闭 当我尝试重新启动 mongodb 使用 mongod f usr local mongodb etc mongo conf got about to fork child process w
  • Java 游戏 - ClassCastException

    我正在开发一个简单的 java 游戏 我的滚动条引发异常 滚动条应该是一个 gameslider 线程 Thread 3 中的异常 java lang ClassCastException sun java2d NullSurfaceDat
  • 自动布局 iOS 11 工具栏 UIBarButtonItem 与 customView

    最近 在我们的项目中 使用自定义视图的 UIBarButtonItem 出现了问题 在 iOS 11 之前 我们通过灵活的间距项进行布局 这不再起作用 所以什么也没有显示 因为我在这里没有找到真正为我解决问题的答案 所以我研究了它并提出了一
  • 在 cmake 中命名可执行文件

    我正在开发一个项目并决定将其移植到 CMake 在配置时 我使用了占位符构建名称 build 没有遇到任何问题 但当我把名字改成S W CMake 不让我构建 它产生了错误消息 cmake CMake Error at CMakeLists