makefile - 在 make 文件中忽略 c11 标志
问题描述
我尝试使用 c11 模式编译我的代码。这是我的制作文件:
obj-m := message_slot.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS=-g -std=c11 -Wall -pedantic
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
在编译过程中由于某种原因,编译器仍然尝试使用 c90 编译代码。有谁明白为什么?
/home/eran/CLionProjects/tau_os_ex3/message_slot.c:29:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
解决方案
CXXFLAGS
传达 C++ 的构建标志,但错误消息表明您正在尝试构建 C 源代码。C 编译器标志进入CFLAGS
.
推荐阅读
- r - 连续数据的千层面图
- python - 即使已安装也找不到 Python 模块
- sql-server - 需要 SQL 帮助中的 XML 输出
- beautifulsoup - 如何在div中提取文本“lower”
- python - 如何让我的 for 循环遍历列表 test_cases 中的每个数字?
- sublimetext3 - 每次我在 sublime 中切换到文件时都显示_in_side_bar
- python - 如何在python图表中显示小值的条形?
- swiftui - 如何从 SwiftUI 和 Realm 中另一个列表中的对象中添加和删除列表中的对象
- daml - 在 `daml start` 上运行 daml 脚本
- ansible - Ansible 读取列名中有空格的 csv