以下内容来自:http://www.51testing.com/html/51/279751-170160.html

1. 安装

cppunit的下载地址为:http://sourceforge.net/projects/cppunit/files/cppunit/。从中选择一个最新的版本,下载到Linux上。(不要下载cppunit-cvs-repo-archive.tar.bz2)

1) 解压
$mv cppunit-1.12.1.tar.gz /usr/src
$tar -xf cppunit-1.10.2.tar.gz

2)安装
$cd cppunit-1.12.1
$./configure
$make
$make check
#make install

3)复制.h文件
安装完成后,*.o, *.a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去,把cppunit-1.10.2的cppunit
目录复制到/usr/include下
$cp -r include/cppunit/* /usr/include

4) 配置链接库路径
$vi /etc/ld.so.conf
在其中加入一行如下:/usr/local/lib
保存后退出。
$ldconfig  (重新加载库文件)

2. 测试是否安装成功

可使用以下代码来测试cppunit是否安装成功:

#include <iostream>
#include <cppunit/TestRunner.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/extensions/TestFactoryRegistry.h>

using namespace std;

class Test:public CPPUNIT_NS::TestCase{
    //声明一个TestSuite
    CPPUNIT_TEST_SUITE(Test);
    //添加TestCase到TestSuite
    CPPUNIT_TEST(testHelloWorld);
   /*
   //定义新的测试用例需要在这儿声明一下,可以添加更多的testCase
    */
   //TestSuite声明完成
   CPPUNIT_TEST_SUITE_END();

    public:
    void setUp(void){}
    void tearDown(void){}

    protected:
   //测试函数
    void testHelloWorld(void){
        cout << "Hello, world!" << endl;
    }
};
//注册这个TestSuite
CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main(int argc, char **argv){
    CPPUNIT_NS::TestResult controller;
    CPPUNIT_NS::TestResultCollector result;
    controller.addListener(&result);

    CPPUNIT_NS::BriefTestProgressListener progress;
    controller.addListener(&progress);

    CPPUNIT_NS::TestRunner runner;
    runner.addTest(CPPUNIT_NS::TestFactoryRegistry:getRegistry().makeTest());
    runner.run(controller);

     : ;
}

可通过静态库或动态库进行编译。下面是链接静态库,编译命令如下:

$g++ -L /usr/local/lib/libcppunit.a hellolinux.cpp -lcppunit -ldl -o hellolinux

编译选项中需要增加 -lcppunit -ldl两个选项,-lcppunit是连接cppunit的库,而cppunit的库中使用了dl库里面的函数。

若链接动态库,则编译命令如下:

$g++ hellolinux.cpp -lcppunit -ldl -o hellolinux

运行,及其结果应为:

$ ./hellolinux
Test::testHelloWorldHello, world!
: OK

【转】linux下cppunit的安装的更多相关文章

  1. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  2. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  3. Windows下的Memcache安装 linux下的Memcache安装

    linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...

  4. linux下subversion server安装手册

    linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...

  5. Linux下Perl的安装(转)

    原文地址:Linux下Perl的安装 今天在虚拟机测试shell脚本的时候,有些命令使用不了. 比如说 mysqlhotcopy ,它提示Perl的版本太低. 我用的 RedHat9 的Perl才5. ...

  6. 细说Linux下软件包的安装与管理

    一 源码安装方式      由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...

  7. Linux下Qt的安装与配置

    参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...

  8. Linux下OpenSSL的安装与使用

    Linux下OpenSSL的安装与使用 OpenSSL简介 OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux.Windows.Mac OS ...

  9. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

随机推荐

  1. 新建并保存一个空的Excel

    测试用的 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

  2. A*算法完全理解

    注:原文出自Patrick Lester,一稿翻译为Panic.很久以前的老文章了,但我觉得真的非常的经典,想把它完善一下让以后的人能够更好的体会原作者和原翻译的精髓吧.我在此基础上修改了部分译文,更 ...

  3. Springmvc构造RESTful详细讲解

    Rest介绍 /blog/1 HTTP GET => 得到id = 1的blog/blog/1 HTTP DELETE => 删除 id = 1的blog/blog/1 HTTP PUT ...

  4. CSS遮罩——如何在CSS中使用遮罩

    Css遮罩是2008年4月由苹果公司添加到webkit引擎中的.遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果. 图像是由rgb三个 ...

  5. pl/sql developer 编码格式设置

    pl/sql developer编码格式设置   一.pl/sql developer 中文字段显示乱码  原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的. 二. ...

  6. HDU 1561-The more, The Better(树状背包)

    题意: n个城堡,每个有一定的财富,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡,求应攻克哪m个城堡,获得最大财富. 分析:dp[i][j],以i为根的子树,攻克j个城堡,获得的 ...

  7. java快速获取大图片的分辨率(大图片格式JPG,tiff ,eg)

    问题描述:怎样快速获取一个20MB图片的分辨率? 程序代码: package test; import java.awt.Dimension; import java.awt.image.Buffer ...

  8. [tensorflow in a nutshell] tensorflow简明教程 (第一部分)

    原文链接: https://medium.com/@camrongodbout/tensorflow-in-a-nutshell-part-one-basics-3f4403709c9d#.31jv5 ...

  9. codeforce 605BE. Freelancer's Dreams

    题意:给你n个工程,做了每个工程相应增长x经验和y钱.问你最少需要多少天到达制定目标.时间可以是浮点数. 思路:杜教思路,用对偶原理很简易.个人建议还是标准解题法,凸包+线性组合. #include& ...

  10. uva 10652

    大意:有n块矩形木板,你的任务是用一个面积尽量小的凸多边形把它们包起来,并计算出木板站整个包装面积的百分比. 思路:按照题意将所有矩形顶点坐标存起来,旋转时先旋转从中心出发的向量,求得各个坐标之后,求 ...