编辑源文件后,“make”不会重新编译

2023-12-10

我正在用 C 编写康威生命游戏的一个小实现。源代码分为三个文件:main.c and functions.c/functions.h,我在其中放置函数定义和声明。

现在,为了创建单元格网格,我有一个这种类型的矩阵:

Cell grid[GRID_HEIGHT][GRID_WIDTH];

where GRID_HEIGHT and GRID_WIDTH是定义在中的常量functions.h:

#define GRID_HEIGHT 10
#define GRID_WIDTH 10

程序运行良好,用make和Makefile编译。但问题是:如果我尝试改变GRID_HEIGHT or GRID_WIDTH,当我再次运行我的 Makefile 时,它​​说所有文件都是最新的! 我尝试使用好的方式进行编译gcc main.c etc.它按预期运行。那么,为什么 make 不重新编译源代码呢?

这是我的 Makefile:

CC = gcc
OBJECTS = main.o functions.o

Game\ of\ Life : $(OBJECTS)
    $(CC) $(OBJECTS) -o Game\ of\ Life -lncurses

%.o : %.c
    $(CC) -c $< 

因为你没有告诉它重新编译取决于functions.h.

尝试将其添加到您的 Makefile 中:

%.o : functions.h

或者,将现有规则修改为:

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

编辑源文件后,“make”不会重新编译 的相关文章

随机推荐

  • GCM 错误服务不可用

    我在注册时遇到问题 GCM 服务器 我的日志中显示一条消息 服务不可用 我尝试了几种选择 但没有得到好的结果 已经启用google play service的依赖 已经检查时钟时间 巴西利亚设置的时区 已经检查了我所知道的一切 下面是我的代
  • 如何从 python 端指定散景图的第 n 个股票代码,其中 n 是股票代码数量

    维护者的注意事项 对 Coffeescript 的支持已弃用 并将在 Bokeh 2 0 中删除 除非我弄错了 否则你只需要访问nth作为实例变量 通过放置this 在它前面 编辑 您还需要使用 粗箭头 gt 在你的过滤器中 这样this已
  • 一次循环5条记录并将其分配给变量

    我有一个包含 811 条记录的表 我想要得到一次五个记录并将其分配给变量 下次当我运行foreach循环任务进入SSIS 它将循环另外五个记录并覆盖变量 我尝试过使用光标进行操作 但找不到解决方案 任何帮助将不胜感激 我有这样的桌子 例如
  • 改造2:如何处理动态响应

    我正在尝试从此 api 获取数据 http www omdbapi com 我正在使用 Retrofit 2 并为第一个 json 创建了一个 pojo 我很好奇的是 当数据不可用时 如何将我的 pojo 转换为第二个 pojo 当有可用数
  • Azure AD 身份验证错误:用户取消了流程

    我正在尝试使用开发我们的应用程序的用户身份验证功能Azure AD并在此过程中遇到一些问题 我已经实施了client flow身份验证使用ADAL库 但当我尝试登录时出现以下错误 Error User cancelled the flow
  • 如何使图像不透明到一定程度?

    我想知道如果在图像视图中设置或设置为相对布局的背景 是否可以使图像不透明 如何使用图像视图或相对布局动态设置图像使图像不透明 或者是否有其他选项可以动态设置图像及其不透明度 我还希望同一图像可以在两个方向上旋转 并且还可以放大和缩小到任何级
  • Python urllib2 无法在备用端口(不是 80)上打开 localhost?错误10013

    这是我的服务器 py import BaseHTTPServer import SocketServer class TestRequestHandler BaseHTTPServer BaseHTTPRequestHandler def
  • FabricJS:垂直对齐文本中心

    我使用的是fabricjs 1 5 并且我一直坚持垂直对齐行中间的文本 我正在使用此代码来设置行高 text setProperty lineHeight scope lineHeight current 它更改画布上文本的行高 但文本始终
  • C++ 中的多语句宏

    In C 是否有可能制作一个多语句宏 with 嵌套 if 语句里面像下面这样吗 我已经尝试了一段时间了 但我遇到了第二个 if 语句无法看到 的范围问题symbol 也许我需要进一步了解宏 define MATCH SYMBOL symb
  • Cassandra 存储桶拆分以调整分区大小

    我对 Cassandra 很陌生 我刚刚通过 Datastax 课程学习了它 但我在此处或互联网上没有找到足够的有关存储桶的信息 并且在我的应用程序中我需要使用存储桶来拆分数据 我有一些工具可以进行很多测量 并且每天拆分测量 时间戳作为分区
  • 点击“显示更多”按钮后如何发布新内容?

    我一直在尝试在用户点击后加载一些附加内容的区域中添加 VO 支持Show more按钮 请参阅随附的屏幕截图 所需行为 我需要 VO 宣布有关附加加载元素的信息 例如 什么是 cookie 以及另外 11 个项目 Tried 方法一 使用
  • 新 Gmail API 中的 RFC822 Message-Id

    我们尝试在使用 gmail api 发送电子邮件时手动设置 RFC822 Message Id 我们已经进行了测试 但发现 Gmail 超越了我们的价值 您知道这是否有原因吗 我们可以为此做点什么吗 是的 邮件发送的 Message Id
  • 尽管图像是正确的白色,但图像并未显示完全白色

    对于闪屏 我使用包含白色背景的图像 纯白色 在 Photoshop 中检查 由于某种原因 它显示了轻微的绿色背景与活动的默认白色背景相比 如屏幕截图中标记的那样 仅在某些设备中 例如 我将其作为框架布局中的单个视图添加到活动中
  • 哪个 zip 库可以与 Ruby 1.9.2 配合良好?

    我之前在 Ruby 1 8 7 中使用过 ruby zip gem 但我听说 ruby zip 不能很好地与 ruby 1 9 2 配合使用 哪些 zip 库适用于 Ruby 1 9 2 你是否真正尝试过使用rubyzip与1 9 2 似乎
  • 将箭头函数与 jQuery 回调一起使用时,“this”关键字的行为有所不同[重复]

    这个问题在这里已经有答案了 我有一个包含多行的表 每行上都有一个edit and delete button 简而言之 当使用 class 触发编辑按钮时 edit 弹出一个表单 除了类名之外 我还添加了一个独特的id like id ed
  • 通过无服务器框架部署到 AWS Lambda 时,将文件打包到应用程序包的特定文件夹中

    Context 我正在使用aws node typescript的例子无服务器框架 我的目标是整合Prisma进去 到目前为止 我有 使用本地创建项目serverless create 在 Railway 上设置 PostgreSQL 数据
  • 如何使用 Google Drive Node.js 断点续传

    嘿 由于 google 云端硬盘正在更改其库 我无法使用基本上传功能上传大于 5MB 的文件创建驱动器文件 文档告诉我 我必须选择可恢复上传 但谷歌驱动器没有提供任何示例代码 而且我在谷歌上找不到任何内容 也许重要的是要知道我可以使用以下命
  • getResources 不起作用/未定义 Java

    我在拨打电话时遇到问题getResources 标准类中的函数 所有导入都必须存在才能使用该功能 我需要什么特殊课程来延长我的课程吗 感谢您的立即帮助 package com example helloandroid import andr
  • 如何在Python中进行CamelCase拆分

    我想要实现的目标是这样的 gt gt gt camel case split CamelCaseXYZ Camel Case XYZ gt gt gt camel case split XYZCamelCase XYZ Camel Case
  • 编辑源文件后,“make”不会重新编译

    我正在用 C 编写康威生命游戏的一个小实现 源代码分为三个文件 main c and functions c functions h 我在其中放置函数定义和声明 现在 为了创建单元格网格 我有一个这种类型的矩阵 Cell grid GRID