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
分享到:
相关推荐
基于CentOS7 系统下的 ARM 开发板 QT 交叉编译工具,使CentOS7 系统下编译的 QT 程序能够运行在 ARM 开发板上。
基于CentOS7 系统的 ARM 交叉编译工具,使CentOS7 系统下开发的 C/C++ 程序能够运行在 ARM 开发板上。
CentOS7各个版本镜像下载地址 # CentOS7.6 下载地址 # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-...
Centos5.5下Qt的安装配置
Centos 7 + Python 3.5.1 + Qt Creator(只是使用Qt Creator编译而已,并没有使用QT的任何库) Python调用C/C++库,我现在能做到的有两种方式 1.extern “C” 导出(互相传值比较麻烦,不建议使用这种方式): 将C/...
error: #error "Qt ...如果你是用makefile编译还好解决些,但是如果你是用CMake编译,你还得变成CMake的写法. 不过低层原理都一样,都是在g++上作文章. 我来告诉你makefile和CMakeLits.txt中怎么写来解决c++0x, c++11
# CentOS7.6 下载地址 # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso ...
centos opencv java so linux Centos8 下编译生成的 opencv4.5.5 jar文件与so
centos7环境下编译opencv4.5.2生成的so和jar
直接从官网下载的live555源码在centos 64位下编译报错,此为修改后版本。
此内容主要用于CentOS7.6、CentOS7.9操纵系统中,并且操作系统不能够链接外网无法使用yum安装httpd服务,所以只能使用离线安装包进行安装。其中步骤在实际的CentOS与服务器验证过,可能安装过程中会有问题,请根据...
centos7环境下编译opencv4.5.4生成的so和jar
CentOS7环境下编译的libwebsockets动态库和静态库,经过测试编译的库可以使用
Centos6.5+Qt5.1.0开发环境配置,包括系统源的更改,gcc安装和glibc-2.14的安装和编译后应用程序的打包等注意事项
`icpc`命令使用与`icc`命令相同的编译器选项,利用`icpc`编译时将后缀为.c和.i的文件看作为C++文件;而利用`icc`编译时将后缀为.c和.i的文件则看作为C文件。用`icpc`编译时,总会链接C++库;而用`icc`编译时,只有在...
hadoop 64位下载 centos6.5环境测试已经完成安装,欢迎下载
文档包含完整的例子,交叉编译还提供了下载链接,保证有用,不成功可...centos7下进行aarch64(arm64)交叉编译工具安装 iperf3交叉编译并在Android下运行 iperf3带宽TCP、UDP性能测试 怎么5分变6分了,不知道为什么
centos 6.5 telnet 客户端 安装文件 rpm包 centos 6.5 telnet 服务端 安装文件 rpm包 http://vault.centos.org/6.5/os/x86_64/Packages/ 从官网下载亲测可以用
CentOS 7.5 64位下编译好的lib_mysqludf_sys.so,源文件在https://download.csdn.net/download/shaynerain/10715798,我博客 中有介绍怎么用
Hadoop2.7.2 centos7 64位编译后的库文件