以下内容来自: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. 不只是技术!成为IT经理必备的十大软技能

    摘要:可能你是一名普通的IT从业员,一个小小的程序员,可随着社会的发展和科技的进步,对人才的要求越来越高,你可能通过技术获得了职位,但你若想升职加薪却少不了软技能:谈判技巧.积极倾听.演讲技巧以及领导 ...

  2. 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)

    承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...

  3. Android开发之全局获取Context的技巧

    转自<第一行代码-Android>进阶篇 这本书对于入门来说确实很棒,很简单明了的介绍了Android开发中涉及到的方方面面,对我的帮助很大,同时记录一些该书中一些对我以后开发有用的东西, ...

  4. 大四实习准备2_java异常处理_android控件练习

    2015-4-24 Java 异常处理 可以有多个catch;ArrayIndexOutOfBoundsException类是Exception类的子类RuntimeException类的一个间接子类 ...

  5. 函数lock_rec_get_nth_bit

    /*********************************************************************//** Gets the nth bit of a rec ...

  6. Oracle tnsname.ora 链接问题

    oracle数据库需要配置tns链接 这里我发现了一个问题: 在D:\Oracle\product\10.1.0\Client_3\NETWORK\ADMIN 目录中配置链接字符串的时候要特别注意: ...

  7. ,net运行框架

    .NET FrameWork框架 是一套应用程序开发框架,主要目的提供一个开发模型. 主要的两个组件: 公共语言运行时(Common Language Runtime)(CLR): 提供内存管理.线程 ...

  8. 解决IIS6.0不能下载EXE文件之妙方!

    2003系统 IIS6建站 有EXE文件下载 但老是不让下载.当我把站删除再建后可以下载,但过一会又不让下载了.另,MIME里有EXE这项!请问这是为什么?应如何处理? 答案: win2003服务器允 ...

  9. 优秀it博客和文章

    优秀博客 综合 杨文博(供职于百度公司,任复合搜索部资深研发工程师,目前作为tech lead,负责垂直行业搜索后端架构研发.) 杨远骋 徐宥(Google 软件工程师. 这个中文博客是我的思考记录, ...

  10. iOS开发之UILabel

    UILabel是iOS开发中常用的一个组件,主要用来显示内容. UILabel的主要使用如下: /*尺寸*/ CGRect labelRect = CGRectMake(100, 100, 80, 4 ...