文档章节

Makefile 高亮显示Error、Warning等错误以及警告信息

z
 zsaniu
发布于 2017/05/17 15:52
字数 490
阅读 23
收藏 0
点赞 0
评论 0

经常性用 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/bingwu/blog/788347

共有 人打赏支持
z
粉丝 0
博文 36
码字总数 20723
作品 0
深圳
程序员
Winform开发框架之对话框样式同化

早在《Winform分页控件重大更新,并实现普通版、DotNetBar、DevExss三大版本整合更新(附各种例子源码)》随笔中,就集成了三种界面样式的分页控件(普通版、基于DotNetBar样式和基于DevExss...

长平狐
2012/06/11
144
0
Winform开发框架之对话框样式同化

早在《Winform分页控件重大更新,并实现普通版、DotNetBar、DevExss三大版本整合更新(附各种例子源码)》随笔中,就集成了三种界面样式的分页控件(普通版、基于DotNetBar样式和基于DevExss...

长平狐
2012/08/22
124
0
“error_reporting (E_ALL & ~E_NOTICE & ~E_WARNIN...

在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1等高版本出现多处错误: 会出现:NOTICE,WARNING错误!屏蔽方法如下: 解决方法: 在程序开头加一句: errorreporting(EALL & ~E...

SMILO
2012/03/20
0
0
通过配置php来屏蔽PHP错误

; Error handling and logging ; ; 出错控制和登记 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。 ; E_ALL - 所有的错误和警告 ; E_ERRO...

winnsay
2016/03/09
21
0
PHP函数 error_reporting(E_ALL ^ E_NOTICE) 说明

在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称. 例如有如下的代码: if (!$tmp_i) {$tmp_i=10;} 在4.3.0中运行...

HinkDeng.
2013/05/06
0
0
php.ini配置--记录PHP错误日志

PHP.ini 中关于错误日志的配置项: ; display_errors ; Default Value: On ; Development Value: On ; Production Value: Off ; displaystartuperrors ; Default Value: Off ; Development V......

麦田兔子
2013/04/24
0
0
Jenkins Log Parser Plugin使用说明

官方wiki:https://wiki.jenkins-ci.org/display/JENKINS/Log+Parser+Plugin 插件概要信息: 解析控制台输出,高亮显示error/warning/info行。 描述: log-parser插件解析Jenkins构建生成的控...

donhui
2015/03/04
0
1
PHP的错误级别

PHP的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。 特别说明:文章的PHP版本使用5.5.32 PHP的错误级别 首先需要了解php有哪些错误。截至到php5.5,一共有16个...

蜗牛奔跑
2016/11/15
3
0
PHP 的异常处理、错误的抛出及错误回调函数

一、错误、异常 等级常量表 error:不能在编译期发现的运行期错误,不如试图用 echo 输出一个未赋值的变量,这类问题往往导致程序或逻辑无法继续下去而需要中断; exception:程序执行过程中...

欣儿
2013/11/18
0
0
android.util.Log常用的方法

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE, DEBUG,INFO,WARN,ERROR。   1、Log.v 的调试颜色为黑色的,任何消息都...

sflfqx
2015/01/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部