cppunit helloworld详尽篇
偶就结合折腾过程,写一个更详细点的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下来的)
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.为什么要移动端适配? 一般情况下设计稿的设计师按照一定的尺寸设计,然而,在现在移动终 ...
- spring listener详尽篇
目录 1.知识点 1.1 ApplicationListener接口 1.2 ApplicationEvent抽象类 1.3 ApplicationEventMulticaster 2.代码支撑 2. ...
- Android 百度地图 SDK v3.0.0 (一)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...
- Docker容器详细操作
Docker操作 镜像篇 下载镜像 导入镜像文件 删除镜像文件 查看镜像 导出镜像文件 运行镜像文件 容器篇 查看容器 启动容器 进入(exec)指定容器 从容器(Container)中退出(exit ...
- 百度地图的植入流程介绍
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...
- ARM嵌入式linux开发入门视频教程
mini2440体验篇1-2 拿到开发板之后,我要做什么事情 -2 mini2440体验篇2-1 嵌入式系统基础.PPT mini2440体验篇3-1 熟悉mini2440开发板硬件资源 mini24 ...
- 压缩感知应用——单像素相机
题目:压缩感知应用--单像素相机 ============================================================ 参考文献: 1)Rachel Zhang的专 ...
- idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇
JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序.本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深 ...
- 【helloworld】-微信小程序开发教程-入门篇【1】
1. 开篇导言 本节目标:旨在演示如何用开发者工具构建并运行简单的 helloworld 应用. 目标用户:无编程经验,但对微信小程序感兴趣的同学. 学习目标:开发者工具的基本使用流程,即创建.导入. ...
最新文章
- Smarty中的内建函数(一)config_load、foreach
- 结账任务 - 年终结账
- kafka 常用命令汇总
- 超级卷的卷烟厂,名校生争当操作工,做一天休一天
- 【linux笔记】CentOs 7配置网络IP
- 一网打尽Android UI 控件教程
- qnap威联通作文件服务器,QNAP 威联通 453BT3 网络存储服务器 使用手记,Nas中的小钢炮...
- Linux 在线词典
- 手把手教你破解无线路由器密码
- 使用海康8700综合平台对ds-6908解码器进行解码上墙大概配置
- Multisim仿真—恒流源电路(二)
- 如何给公司节约成本,搭建免费开源监控系统uptime-kuma
- Unity2D游戏制作常用方法
- ubutun 滑动 触控板_Ubuntu系统的笔记本触摸板怎么调节鼠标光标速度?
- 阿里前浪产品人*N,也谈产品和PM
- The types of the interface org.apache.flink.util.OutputTag could not be inferred.
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- Tensorflow操作与函数全面解析
- 【allegro 17.4软件操作保姆级教程九】布线后检查与调整
- 第六篇:UE4小功能,指南针的实现
热门文章
- WEB 3.0(非技术版)
- python六十二: 析构方法
- 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
- 系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]
- [NSTaggedPointerString text]:unrecognized selector sent to instance
- 【GoLang】GoLang 遍历 map、slice、array方法
- Storm并行度详解
- Delphi的实数计算结果中只保留2位小数
- bash alias, VIM配置,和使用的插件 RAILS开发相关
- PUSH进栈指令和POP出栈指令