如何将宏定义作为参数传递给 make?

2024-03-10

我希望通过将 C 宏作为参数传递给make,从命令行调用。

背景:我想要指令#define ENABLE_OPT 1当选择某个构建选项时,将包含在我的 C 源代码中。因此,我希望通过make命令行而不是修改源代码or生成文件。

如何才能实现这一目标?我发现make -DENABLE_OPT=1 -f Makefile抛出“E”、“N”等无效参数的错误。


您可以使用--eval,它将将该字符串评估为 makefile 语句:

make --eval="FLAGS+= -D ENABLE_OPT=1"

然后 make 变量 FLAGS 用作编译器参数来编译代码。

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

如何将宏定义作为参数传递给 make? 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • HBase 上的 Thrift 有性能基准吗?

    我有一个可以将大量数据写入 hbase 的系统 系统是用c 编写的 发现hbase有其他语言的thrift接口 我的问题是 HBase 上的 Thrift 有性能基准吗 与java原生api相比 最劣势是什么 我推荐最近关于这个主题的两篇博
  • PS 脚本正在导出空的 CSV

    我花了很长时间试图理解为什么这个脚本没有按预期工作 这是一个简单的脚本 我尝试在其中导入 CSV 选择我想要的几列 然后导出 CSV 并复制自身 基本上 我们已经存档了数据 由于内存大小限制 我只需要从另一个项目中获取几列 这个脚本非常简单
  • 在 Android Studio 上将模块或项目导入为库

    我想在我的动态壁纸项目中使用 HoloEverywhere HE Preferences AddOn 该项目即将完成 我只需要它从 android 2 3 到 4 4 看起来相同 所以我继续按照指南从 GitHub 获取 HE 在 Demo
  • 水豚无法使用 action_cable

    我正在使用带有操作电缆的 Rails 5 beta 3 集成在开发中运行良好 但是当我尝试通过水豚运行功能测试时 它似乎没有命中通道操作 我正在使用 Portergeist 并将 puma 配置为水豚的服务器 我还使用 es5 shim 和
  • 在 Windows 上调试时 stderr 去了哪里?

    当尝试在 Windows 上调试程序时 我似乎无法找到推送到 stderr 的输出的去向 如何获取 stderr 输出 是否可以更改调试器级别设置 MSVC 9 以将 stderr 重定向到 UI 的某些部分 更新 我还没有研究过TRACE
  • 在 Android 类相机中将自动对焦放在哪里

    我正在尝试使用自动对焦 我不知道在哪里放置自动对焦 有人知道如何实现自动对焦吗 预习班 package com marakana import java io IOException import android content Conte
  • 使用 Auth 获取数据透视表中用户的角色

    我有以下数据库结构 使用数据透视表连接用户和角色表 用户表包含所有信息 例如电子邮件和密码 而角色表定义不同的角色 角色表 1 gt 管理员 2 gt 编码器 3 gt 推销员 4 gt 技术 现在角色被定义为多对多 因为有一些编码器也被分
  • 从哪里可以获得 libpq 源代码?

    我想编写使用 Postgresql 作为 DBMS 的应用程序 要编写客户端应用程序 我需要 libpq 库和头文件吗 如果是的话我会在哪里获得 libpq 库和头文件 Libpq 包含在完整的 PostgreSQL 源代码中 您可以只使用
  • Java NIO ByteBuffer,翻转后写入

    我是 Java ByteBuffers 的新手 想知道翻转后写入 ByteBuffer 的正确方法是什么 在我的用例中 我将一个输出缓冲区写入套接字 outBuffer flip Non blocking SocketChannel int
  • 使用不带 src 属性的 vuejs 在 iframe 中渲染组件

    我想在这个 iframe 中渲染组件 是否有在 iframe 中创建 html 元素或渲染组件的选项 new Vue el frame store store router router render component 对我来说最简单的方
  • 本地化 Angular Material 日期选择器中的日期值

    我正在使用 Angular Material 日期选择器 我的问题是 当我向 Web Api 控制器发送日期时 我得到的日期小于我在表单中选择的日期 我认为这是因为日期值没有本地化 我想知道的是如何localize the date in
  • 嵌套 JSF 复合组件导致堆栈溢出异常

    问题 当我尝试将复合组件嵌套在其自身中 并使用一些逻辑来结束无限递归时 我收到堆栈溢出异常 我的理解是
  • 使用 TabLayout android 实现不同大小的选项卡

    尝试重新创建与 Instagram 相同的顶部 TabLayout 主选项卡 侧边标签 尝试过多种方法 应用程序 tabMode 固定 应用程序 tabMode 可滚动 我设法以编程方式创建它 如下所示 View view1 getLayo
  • 如何在Spring中创建非阻塞@RestController Web服务?

    我有一个 RestControllerwebservice 方法可能会阻止长时间运行的服务调用的响应线程 如下 RestController public class MyRestController could be another we
  • ggplot:以相反顺序堆叠条形图

    所以我有数据框 dput df structure list Frequency structure c 1L 2L 3L 4L 1L 2L 3L 4L Label c 2 3 4 5 class factor Prcentage c 1
  • 将 16 位 tiff 文件转换为可在线查看的文件?

    我需要获取 16 位 tiff 文件并使其可以在我的网站上查看 为了查看 tiff 文件 许多浏览器都需要插件 我找到了一个可以将它们转换为 jpg 文件的软件 但我想知道是否有一种方法可以独立完成此操作 我正在使用 Ruby on Rai
  • 如何在Nginx中将所有Angular请求重定向到index.html

    我创建了一个简单的 Nginx 配置文件来服务 Angular 如下所示 server listen 80 listen 80 root path to apps myapp current dist access log path to
  • 将 1D 向量 (nx1) 更改为 3D 矩阵 (1x1xn)

    Given a 1 2 3 我想将其更改为b where b is b 1 1 1 1 b 1 1 2 2 b 1 1 3 3 我怎样才能做到这一点 没有内置命令吗 Use permute http www mathworks com he
  • JBoss Tools 部署错误:这可能是由于服务器的临时部署目录位于与最终目标不同的文件系统上造成的

    在 Eclipse 中使用 JBoss Tools 部署应用程序时出现以下错误 将 C wildfly 8 1 0 Final standalone tmp tmp7858611943756287857 xhtml 重命名为 C wildf
  • 如何将宏定义作为参数传递给 make?

    我希望通过将 C 宏作为参数传递给make 从命令行调用 背景 我想要指令 define ENABLE OPT 1当选择某个构建选项时 将包含在我的 C 源代码中 因此 我希望通过make命令行而不是修改源代码or生成文件 如何才能实现这一