以下内容来自: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. android 自动调整屏幕分辨率

    请看 http://blog.csdn.net/awp258/article/details/7593340

  2. poj 2993 Emag eht htiw Em Pleh(模拟)

    题目:http://poj.org/problem?id=2993 题意:和2996反着 #include <iostream> #include<cstdio> #inclu ...

  3. UVa 294 (因数的个数) Divisors

    题意: 求区间[L, U]的正因数的个数. 分析: 有这样一条公式,将n分解为,则n的正因数的个数为 事先打好素数表,按照上面的公式统计出最大值即可. #include <cstdio> ...

  4. java高并发,如何解决,什么方式解决

    之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确.丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍 ...

  5. UPC 2224 Boring Counting ★(山东省第四届ACM程序设计竞赛 tag:线段树)

    [题意]给定一个长度为N的数列,M个询问区间[L,R]内大于等于A小于等于B的数的个数. [题目链接]http://acm.upc.edu.cn/problem.php?id=2224 省赛的时候脑抽 ...

  6. (二)学习C#之内存管理

    一.当你运行你的程序通常都会访问哪些内存空间呢? 电脑自言自语道,“这个人要声明一个整数”或“这个人个方法”或“这个人要创建一个对象” 1.这些信息究竟是存在内存里的什么地方呢? 2.或者说用于描述这 ...

  7. java双亲委派模型如何递归实现

    以下是Classloader的中最重要的方法,也就是所谓的双亲委派模型.这个模型第一次在周志明的书上看到,当时看了只知道是类加载过程是首先是委托给父加载器,否则父不能加载,则自己加载,整个过程实则是一 ...

  8. PDF/WORD/EXCEL 图片预览

    一.PDF/WORD/EXCEL 转 XPS 转 第一页内容 转 图片 WORD.EXCEL转XPS (Office2010) public bool WordToXPS(string sourceP ...

  9. ROW_NUMBER 使用

    WITH t_pageAS( SELECT ROW_NUMBER() OVER ( ORDER BY table_name ) AS row_index,column_name FROM table_ ...

  10. 【Spark学习】Apache Spark安全机制

    Spark版本:1.1.1 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4135808.html 目录 W ...