64位centos上用Qt编译生成c/c++代码检查工具cppchek的GUI

cppcheck是开源的C/C++代码静态分析工具,它提供命令行和GUI两种方式对C/C++源码进行检查。这次,主要研究linux下如何对cppcheck源码编译生成GUI可执行文件。

系统环境:

64位centos5.4,

cppcheck1.44(可以从http://sourceforge.net/projects/cppcheck/files/ 上下载cppcheck-1.44.tar.gz )

 

1.编译GUI需要QT的一些包(具体参看cppcheck解压目录/usr/local/cppcheck-1.44/readme_gui.txt文件)

我下载的是QT的SDK包:qt-sdk-linux-x86_64-opensource-2010.04.bin

在终端

$./qt-sdk-linux-x86_64-opensource-2010.04.bin即可弹出Qt安装界面,按默认步骤一路装下去即可。

2.在终端

$cd /usr/local/cppcheck-1.44/GUI

$qmake

$make

最后的编译结果会给出错误提示“/libQtGui.so: undefined reference to `FcFreeTypeQueryFace' ”。

 

解决办法如下:

下载最先的fontconfig-2.8.0(可以从http://www.fontconfig.org/release/ 处获得最新版本的fontconfig)

因为fontconfig2.8.0运行要求:

FreeType-2.3.12 and either expat-2.0.1 or libxml2-2.7.6

(资料参考http://www.linuxfromscratch.org/blfs/view/cvs/general/fontconfig.html

 

expat-2.0.1资料链接给出的软件安装包在执行make,make install时有些问题,所以我单独下载了另一个版本

expat-2.0.1-87.1.i386.rpm (可以从ttp://rpm.pbone.net/index.php3/stat/4/idpl/10639600/com/libexpat1-2.0.1-87.1.i386.rpm.html 处获得)

 

(1)   编译生成FreeType

$tar jxvf  freetype-2.3.12.tar.bz2

$cd  freetype-2.3.12

$./configure --prefix=/usr && make && make install

 

(2)   编译生成expat

$rpm -ivh expat-2.0.1-87.1.i386.rpm


(3)  编译生成fontconfig

$cd fontconfig-2.8.0

$./configure --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man

$make

$make install

说明:默认fontconfig编译的的文件在/usr/lib 下,也可以自行指定其他目录

(4)正常情况下 在32位linux上执行上述(1)-(3)即可,t跳到(5)成功编译生成GUI.

但是64位linux有些特别:

64位下,默认fontconfig编译的的文件在/usr/lib 下,主要libfontconfig*.* 几个,把这几个文件复制到 /usr/lib64下,再 ldconfig 更新下缓存

 

(5) 编译GUI

用文本编辑器打开GUI目录下GUI.pro文件,增加内容(注:此处/usr应和步骤(3)里./config时指定的--prefix=/usr保持一致)

LIB+=-L/usr/lib

$ ce /usr/local/cppcheck-1.44/GUI

$qmake

$make

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值