cppunit文档真少。一个hellpworld程序折腾了好几个小时才折腾够。tnnd作者给的帮助就那么几句话。

偶就结合折腾过程,写一个更详细点的helloworld。

系统:fc4,gcc4

(1)下载
    到cppunit.sourceforge.net上下载源代码。我的是cppunit-1.10.2.tar.gz。copy到/usr/src下。运行:
        tar -xf cppunit-1.10.2.tar.gz
    解压缩。
(2)安装
    进入cppunit-1.10.2目录下。运行:
        ./configure; make; make check; make install
    安装。make check有些项通不过。没关系。:P
    .o, .a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去
(3)copy *.h文件
    把cppunit-1.10.2的cppunit目录复制到/usr/include下
(4)撰写mytest.cpp(从cppunit.sourceforge.net上copy下来的)

 1 #include <iostream>
 2 
 3 #include <cppunit/TestRunner.h>
 4 #include <cppunit/TestResult.h>
 5 #include <cppunit/TestResultCollector.h>
 6 #include <cppunit/extensions/HelperMacros.h>
 7 #include <cppunit/BriefTestProgressListener.h>
 8 #include <cppunit/extensions/TestFactoryRegistry.h>
 9 
10 
11 class Test : public CPPUNIT_NS::TestCase
12 {
13   CPPUNIT_TEST_SUITE(Test);
14   CPPUNIT_TEST(testHelloWorld);
15   CPPUNIT_TEST_SUITE_END();
16 
17 public:
18   void setUp(void) {}
19   void tearDown(void) {} 
20 
21 protected:
22   void testHelloWorld(void) { std::cout << "Hello, world!" << std::endl; }
23 };
24 
25 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
26 
27 int main( int argc, char **argv )
28 {
29   // Create the event manager and test controller
30   CPPUNIT_NS::TestResult controller;
31 
32   // Add a listener that colllects test result
33   CPPUNIT_NS::TestResultCollector result;
34   controller.addListener( &result );        
35 
36   // Add a listener that print dots as test run.
37   CPPUNIT_NS::BriefTestProgressListener progress;
38   controller.addListener( &progress );      
39 
40   // Add the top suite to the test runner
41   CPPUNIT_NS::TestRunner runner;
42   runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
43   runner.run( controller );
44 
45   return result.wasSuccessful() ? 0 : 1;
46 }
47 
48 

(5)编译,运行
        有两种方法
        (a) 链接静态库。编译命令:
       g++ -L/usr/local/lib/libcppunit.a mytest.cpp -lcppunit -ldl -o mytest
       运行:
       ./mytest
       结果:
        Test::testHelloWorldHello, world!
         : OK
         (b) 链接动态库。编译命令:
       g++ mytest.cpp -lcppunit -ldl -o mytest
       运行时要先设置环境变量LD_LIBRARY_PATH到cppunit的安装目录,也就是/usr/local/lib,命令如下:
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
       然后运行:
       ./mytest
       结果:
        Test::testHelloWorldHello, world!

: OK

本文转自xiaotie博客园博客,原文链接http://www.cnblogs.com/xiaotie/archive/2006/01/05/311149.html如需转载请自行联系原作者

xiaotie 集异璧实验室(GEBLAB)

cppunit helloworld详尽篇相关推荐

  1. 【阅读理解】深入移动端的适配-详尽篇

    前言,本片文章是我阅读了众多移动端适配整理出来的博客,红色字体属于我个人的理解,如有错误希望大佬们能纠正,谢谢 1.为什么要移动端适配? 一般情况下设计稿的设计师按照一定的尺寸设计,然而,在现在移动终 ...

  2. spring listener详尽篇

    目录 1.知识点 1.1 ApplicationListener接口 1.2 ApplicationEvent抽象类 1.3 ApplicationEventMulticaster 2.代码支撑 2. ...

  3. Android 百度地图 SDK v3.0.0 (一)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...

  4. Docker容器详细操作

    Docker操作 镜像篇 下载镜像 导入镜像文件 删除镜像文件 查看镜像 导出镜像文件 运行镜像文件 容器篇 查看容器 启动容器 进入(exec)指定容器 从容器(Container)中退出(exit ...

  5. 百度地图的植入流程介绍

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...

  6. ARM嵌入式linux开发入门视频教程

    mini2440体验篇1-2 拿到开发板之后,我要做什么事情 -2 mini2440体验篇2-1 嵌入式系统基础.PPT mini2440体验篇3-1 熟悉mini2440开发板硬件资源 mini24 ...

  7. 压缩感知应用——单像素相机

    题目:压缩感知应用--单像素相机 ============================================================ 参考文献: 1)Rachel Zhang的专 ...

  8. idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇

    JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序.本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深 ...

  9. 【helloworld】-微信小程序开发教程-入门篇【1】

    1. 开篇导言 本节目标:旨在演示如何用开发者工具构建并运行简单的 helloworld 应用. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:开发者工具的基本使用流程,即创建.导入. ...

最新文章

  1. Smarty中的内建函数(一)config_load、foreach
  2. 结账任务 - 年终结账
  3. kafka 常用命令汇总
  4. 超级卷的卷烟厂,名校生争当操作工,做一天休一天
  5. 【linux笔记】CentOs 7配置网络IP
  6. 一网打尽Android UI 控件教程
  7. qnap威联通作文件服务器,QNAP 威联通 453BT3 网络存储服务器 使用手记,Nas中的小钢炮...
  8. Linux 在线词典
  9. 手把手教你破解无线路由器密码
  10. 使用海康8700综合平台对ds-6908解码器进行解码上墙大概配置
  11. Multisim仿真—恒流源电路(二)
  12. 如何给公司节约成本,搭建免费开源监控系统uptime-kuma
  13. Unity2D游戏制作常用方法
  14. ubutun 滑动 触控板_Ubuntu系统的笔记本触摸板怎么调节鼠标光标速度?
  15. 阿里前浪产品人*N,也谈产品和PM
  16. The types of the interface org.apache.flink.util.OutputTag could not be inferred.
  17. 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
  18. Tensorflow操作与函数全面解析
  19. 【allegro 17.4软件操作保姆级教程九】布线后检查与调整
  20. 第六篇:UE4小功能,指南针的实现

热门文章

  1. WEB 3.0(非技术版)
  2. python六十二: 析构方法
  3. 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
  4. 系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]
  5. [NSTaggedPointerString text]:unrecognized selector sent to instance
  6. 【GoLang】GoLang 遍历 map、slice、array方法
  7. Storm并行度详解
  8. Delphi的实数计算结果中只保留2位小数
  9. bash alias, VIM配置,和使用的插件 RAILS开发相关
  10. PUSH进栈指令和POP出栈指令