makefile
文章平均质量分 62
王者级废铁
博客就是备忘录,这里主要记录一些学习的内容或者总结
展开
-
编译linux驱动的makefile
编译驱动有两种情况,一种是将驱动程序编译成.ko文件,然后在板子上进行insmod安装,这种使用obj-m,另外一种是将驱动编译到内核使用obj-y。原创 2023-08-10 10:11:48 · 280 阅读 · 0 评论 -
交叉编译驱动和应用出现警告提示错误“cc1:all warnings being treated as errors”解决方法
查看资料:linux内核从5.15之后构建将默认启用“-Werror”编译器标记,编译时warning被当作error处理。这两句非常关键,就是为了避免内核继续将警告提示错误导致的编译失败。首先将内核最顶层makefile的“-Werror”全部取消。注意:是全部“-Werror”都要取消,上面的只是简单举例。此外还要在编译驱动的makefile中加入下面两句。下面就是此次编译的makefile。问题找到了就好解决了。原创 2023-08-10 09:15:19 · 4347 阅读 · 0 评论 -
makefile详解
一、makefile概念作用:假如有三个C文件,比如说有foo.c, bar.c, main.c三个C文件,要编译成一个app,会怎么做呢?先将三个C文件都编译出来,然后再链接成一个可执行文件,但是当文件特别多的情况下,一个一个去编译,然后再去链接起来吗?这时可能会想创建一个shell文件,将上面的步骤放进去,写成一个build.sh,每次编译你只要执行这个脚本问题就解决了。转载 2023-05-30 14:06:56 · 5490 阅读 · 0 评论 -
Makefile
用 Makefile 进行规则定义的时候,用户可以定义自己的变量,称为用户自定义变量。makefile 中的变量是没有类型的,直接创建变量然后给其赋值就可以了。# 错误, 只创建了变量名, 没有赋值 变量名 # 正确, 创建一个变量名并且给其赋值 变量名=变量值在给 makefile 中的变量赋值之后,如何在需要的时候将变量值取出来呢?# 如果将变量的值取出?转载 2022-08-15 10:38:56 · 4112 阅读 · 0 评论 -
linux下makefile的CC和gcc
如果讨论范围在Unix和Linux之间,那么cc和gcc不是同一个东西。cc来自于Unix的c语言编译器,是 c compiler 的缩写。gcc来自Linux世界,是GNU compiler collection 的缩写,注意这是一个编译器集合,不仅仅是c或c++。其次, 如果讨论范围仅限于Linux,我们可以认为它们是一样的,在Linux下调用cc时,其实际上并不指向unix的cc编译器,而是指向了gcc,也就是说cc是gcc的一个链接(快捷方式),看看下面的终端输出就明白了:...转载 2022-08-15 09:35:52 · 1383 阅读 · 0 评论