经常性用 Makefile 编译程序,但是出错后清一色的编译输出信息让人查找错误点时一阵头大!还好GitHub上有 color_cpmpile 项目,真是造福啊!感谢此项目的原作者!
GitHub上的项目地址 https://github.com/chinaran/color-compile
或者在这里下载源代码:http://pan.baidu.com/s/1kUTFtQ3
1、编译。很简单,进入项目目录里
$ \make /*使用的是系统的 make 来编译,而非 alias 定义的别名*/
2、安装。编译完成后便是安装了(install 的工作是 copy 主程序到 /usr/local/bin 中,并向 shell 的配置文件(此处一般是 ~/.bashrc)末尾添加别名)
$ sudo \make install /*安装*/
此时查看 ~/.bashrc 文件,在文件最末尾应能看到新加入的别名
alias gcc="color_compile gcc"
alias g++="color_compile g++"
alias make="color_compile make"
3、配置交叉编译器。这个也是很简单,只要在 ~/.bashrc 文件末尾加入一下内容即可(这是海思编译器),也可根据格式添加自己的编译器。
# 编译时颜色输出 2016年11月15日 星期二 14:36:00 CST
alias arm-hisiv100nptl-Linux-gcc="color_compile arm-hisiv100nptl-linux-gcc"
alias arm-hisiv100nptl-linux-g++="color_compile arm-hisiv100nptl-linux-g++"
alias arm-hismall-linux-gcc="color_compile arm-hismall-linux-gcc"
alias arm-hismall-linux-g++="color_compile arm-hismall-linux-g++"
4、生效。需要 source 一下让配置文件生效(也可以重新打开终端)
$ source ~/.bashrc
此时再去 make 代码工程,就会发现有很多醒目的输出信息了。可以使用自带的例子查看效果
$ make TEST /* ==gcc -Wall test.c */
输出如下
5、卸载或重装
a) 删除 ~/.bashrc 后面的所有添加的 alias 别名,以免造成其他未知影响。
b) 删除 /usr/local/bin/color_compile 可执行程序
$ sudo rm /usr/local/bin/color_compile
其他
1、gcc 版本为 4.9.0 以上时,可以使用 gcc 内置的高亮显示,加上参数 -fdiagnostics-color=auto 即可
2、需要修改其他颜色输出,只要修改 out_color_info.c 源码即可,里面有部分颜色的宏定义。
转载于:https://my.oschina.net/u/3415127/blog/902966
分享到:
相关推荐
百篇大计敬本年之最强辅助《三》 —— Makefile 高亮显示Error、Warning等错误以及警告信息...-附件资源
当你遇到“Fatal error: Don't know how to make target `client.h”这样的错误时,通常意味着你的Makefile在尝试构建目标文件`client.h`时遇到了问题。这个错误表明,Makefile没有找到合适的规则来生成`client.h`这...
再以UE 打开Makefile文件,通过菜单 视图—>查看方式(高亮文件类型)选择新增文件类型makefile,此时可以看到shell文件中的一些关键字已经以其他颜色显示了,这就设置成功了。 这里是官方添加的方法。 ...
- **--print-database**(或-p):这个选项会显示make的内部数据库,包括变量、目录、隐式规则、模式特定变量、显式规则以及VPATH搜索路径等信息。这对于理解makefile的全局状态和变量解析过程非常有帮助。 - **--...
- **警告**:通过`warning`函数显示警告信息但不终止make进程。 #### 七、Makefile运行选项 **7.1 运行选项** - **指定Makefile**:使用`-f`选项指定Makefile文件。 - **指定目标**:直接指定makefile中的目标...
这包括变量、目录、隐式规则、模式特定变量、显式规则以及vpath搜索路径等信息。这对于理解makefile中各个部分的相互作用非常有帮助。 示例输出如下: ```bash # GNU Make 3.80 # Copyright (C) 2002 Free ...
在Linux系统中,`Makefile`是一个至关重要的文件,它为编译和构建项目提供了自动化的方式。`Makefile`包含了构建过程的规则和指令,使得开发者可以高效地管理复杂的源代码结构,避免手动执行一系列重复的编译命令。...
不同的环境有不同的make工具,例如Delphi的make、Visual C++的nmake以及Linux下的GNU make等。 4. **编译流程**:通常情况下,源文件会被编译成中间目标文件(如`.o`或`.obj`文件),然后这些中间目标文件会被链接...
### Makefile自动构建方法 #### 一、概述 在Linux平台下,Makefile是一种非常重要的自动化构建工具,它能够帮助开发者高效地管理项目构建过程。本文档将详细介绍如何使用Makefile进行自动构建,并通过一个简单的...
* 特殊变量(special variable):Makefile 中的特殊变量,例如 .PHONY、.DELETE_ON_ERROR 等。 * 函数(function):Makefile 中的函数,例如 addprefix、filter、patsubst 等。 Makefile 的应用场景非常广泛,...
这个错误信息通常表示在编译过程中遇到了某个目标文件无法构建的情况,导致整个构建过程失败,错误代码“Error 2”则表明在执行某个命令时发生了错误。这个问题可能是由多种原因引起的,例如依赖项缺失、配置不正确...
Makefile 中文教程.pdf Makefile 作为一个自动化编译...* 不好 debug:Makefile 的错误信息不够明确, debug 相对困难。 Makefile 是一个功能强大且灵活的自动化编译工具,在软件开发过程中扮演着非常重要的角色。
Makefile手册为读者提供了全面的Makefile使用指南,介绍其语法、编写规则以及如何使用变量和条件语句等高级特性。手册内容详实,不仅覆盖了基础概念,还提供了丰富的实例和技巧,是学习和应用Makefile不可或缺的参考...
规则的命令章节对如何为规则书写命令进行了详细说明,包括命令的回显、执行和并发执行,以及命令执行过程中的错误处理和中断make执行的方法。此外,还包括make的递归执行和如何定义命令包。 在Makefile中的变量章节...
9. **控制make的函数**:如`error`和`warning`等。 #### 第十部分:make的运行 1. **make的退出码**:表示make执行的结果。 2. **指定Makefile**:可以通过命令行参数指定Makefile文件。 3. **指定目标**:可以...
### Makefile 进阶知识点详解 #### 一、Makefile 文件概述 Makefile 是一种用于自动化构建过程的脚本文件,在 Linux 和 Unix 环境下尤为重要。它可以帮助开发者高效地管理和编译复杂的工程项目,特别是在涉及到数...
* -h:help 文档,显示 Makefile 的帮助信息 在使用 Make 工具时,习惯把 Makefile 文件命名为 Makefile,但也可以采用其他的名字来命名 Makefile 文件。如果要使用其他文件作为 Makefile,则可利用带-f 选项的 ...
此外,面试者还应该了解如何调试Makefile中的错误,以及如何与其他构建系统(如CMake、SCons等)进行比较。 总的来说,掌握Makefile对于任何在Unix/Linux环境中工作的开发人员都是必不可少的技能,因为它可以帮助...