Linux下的CppUnit 的HelloWorld手记

cppunit在linux下的安装配置及测试 cppunit在linux下的安装配置及简单测试,适合新手入门学习cppunit 立即下载

版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。=

操作系统系统:Ubuntu6,g++

软件版本:cppunit-1.10.2.tar.gz



(1)获得源码:
    到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。

(2)解压缩:

使用以下命令即可解压缩
        tar -zxvfcppunit-1.10.2.tar.gz


(3)编译安装
    cd进cppunit-1.10.2目录下。
        ./configure

make

make install

make的编译的文件都在src/cppunit/.libs。

make install只是把链接库文件复制到/usr/local/lib,其他的似乎什么都没有做。

(4)复制头文件

make install没有把头文件安装到/usr/include中去,此时还需要手工去复制,只要把include下面的cppunit目录复制到/usr/include下面就可以了,命令很简单,就不写了。

(5)配置链接库路径

    这个时候,看起来似乎已经安装配置成功了,其实不然,在Ubutu、FC(已知的)动态链接库的配置文件里面并没有写入/usr/local/lib的路径,虽然可以编译过,但是你却发现会运行不了,会出现如是的错误:
./mytest: error while loading shared libraries: libcppunit-1.10.so.2: cannotopen shared object file: No such file or directory

    真是糟糕,此时你还需要配置一下链接库的路径,链接库配置文件为/etc/ld.so.conf,以下为修改办法:

    vi /etc/ld.so.conf

在新起一行里面加入:

/usr/local/lib

然后再用ldconfig命令重新装载一下配置文件就可以了:

ldconfig

OK,此时你已经可以正常的编译并使用了^__^

 

 

(6)编写第一个HelloWorld

撰写mytest.cpp(从cppunit.sourceforge.net上copy下来的),代码如下:


#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>


class Test : public CPPUNIT_NS::TestCase
{
    CPPUNIT_TEST_SUITE(Test);
    CPPUNIT_TEST(testHelloWorld);
    CPPUNIT_TEST_SUITE_END();

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

    protected:
    void testHelloWorld(void) { std::cout<< "Hello, world!" << std::endl; }
};

CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main( int argc, char **argv )
{
    // Create the event manager and testcontroller
    CPPUNIT_NS::TestResult controller;

    // Add a listener that colllects testresult
    CPPUNIT_NS::TestResultCollector result;
    controller.addListener( &result);        

    // Add a listener that print dots astest run.
    CPPUNIT_NS::BriefTestProgressListenerprogress;
    controller.addListener( &progress);      

    // Add the top suite to the test runner
    CPPUNIT_NS::TestRunner runner;
    runner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
    runner.run( controller );

    return result.wasSuccessful() ? 0 : 1;
}
将之保存为mytest.cpp。

(7)编译我们的HelloWorld
你可以链接静态库也可以链接静态库。
(a) 链接静态库。编译命令:
g++ -L/usr/local/lib/libcppunit.amytest.cpp -lcppunit -ldl -o mytest

运行:
./mytest

结果:
Test::testHelloWorldHello, world!
: OK

(b) 链接动态库。编译命令:
g++ mytest.cpp -lcppunit -ldl -o mytest

运行:
./mytest
结果:
Test::testHelloWorldHello, world!
: OK

      如果你没有执行步骤(5),那么你也可以在每次运行之前设置下临时的环境变量LD_LIBRARY_PATH命令如下:
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

补遗:
非Root用户是不能够往/usr/local/lib/和/usr/include里面写东西的,这个时候就很烦人了。你就只能够把库和头文件放到home目录里面。
非Root用户的安装需要作如下修改:
步骤三需要修改configure,这里 -prefix=/home/me的意思是把安装的根目录设置为/home/me(我的私人目录, 我不是管理员所以只好安装到自己的“家“了),这样make install的时候,库文件就会复制到此目录下的lib目录里。
./configure-prefix=/home/me

Ok,把头文件也放置到/home/me里面吧。这样,情况就是:头文件存储在/home/me/include,库文件存储在/home/me/lib。
编译的时候命令就会像如下所示:
g++ -g-L/home/me/lib -lcppunit -ldl -I/home/me/include Main.C
因为是非root用户,所以步骤(5)是无法执行的了,想要能够运行测试程序就只能够执行类型类似命令才能够运行了:
export LD_LIBRARY_PATH=/home/me/lib:$LD_LIBRARY_PATH

(注:/home/me里面的me代表的是你的用户名,在Linux下面,除了root的用户目录是在/root下,其他用户都是在/home下的,目录名为用户名。当你登录当前用户之后,就在此目录下。)

单元测试,最终它是要运用到工程中去的,如果还那样用g++命令直接编译,肯定是行不通的,所以还必须要写一个Makefile才可以

 

 


cppunit在linux下使用简介 简单介绍cppunit的使用方法.看完这篇文档,就可以用cppunit的基本功能进行单元测试了 立即下载

相关推荐

cppunit-1.10.2.tar.gz

cppunit-1.10.2.tar.gz,单元测试利器

Linux下Cppunit的简单运用

操作系统: 软件版本:cppunit-1.12.0.tar.gz 代码调试通过   一、           CppUnit的原理 先简单介绍几个CppUnit的基本术语: 1、Fixture:一个或一组测试用例的测试对象。可以是你要测试的对象或者函数。 2、TestCase:测试用例。是对测试对象的某个功能或流程编写的测试代码。对一个Fixture,可能有多个测试用例。 3、Te

把握自己。 1966

cppuint安装和使用

cppuint的安装配置和使用方法

记录Linux下C++的Helloworld

Linux下的C++编程 之前一直都是在Windows下面的Visual studio下学习C++编程,最近打算转Linux下的编程,记录一下学习过程。 创建目录 首先,进入到Linux系统的终端,在自己选择的目录下创建一个工作文件夹: ~$ mkdir Cpp_file // 在该目录下创建一个名为Cpp_file的文件夹 ~$ ls //查看该目录下的文件 VIM编辑器基本设置 下面对VIM编辑器进行一些基本的设置: ~$ vi /etc/vim/vimrc 然后会进入到一个文件如下所示: 在结尾

Thebluewinds的博客 1701

linux下cppunit的安装和使用

一、CppUnit linux 安装 CppUnit测试框架的源代码可以到 http://sourceforge.net/projects/cppunit/上下载,当前高版本为cppunit-1.12.0.tar.gz。 上传到linux服务器的某一个目录下(比如事先建立的/home/cppunit目录下)。接下来的步骤是在linux安装cppunit(我这里的版本RedHat是内核版本是2.4.20-8) [root@testhost testexample]# uname -a Linux testhost 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 20

TCGA之GDC-client工具下载安装与使用

文章主要是对GDC-client工具下载TCGA数据库数据整个过程的一个记录 1.下载GDC-client工具 GDC-client工具网址:GDC Data Transfer Tool | NCI Genomic Data Commons (cancer.gov) 我这里下的是上图中红圈中的版本, 2.解压安装 从网上了解的是不能解压到带中文的路径里,解压后是一个.exe文件,为了能直接在cmd命令行下使用,将其加入系统环境: 点击新建之后,输入将文件解压到的路径,然后...

better_strong的博客 1万+

Linux下cppunit的基本使用说明文档及项目测试简介

Cppunit使用说明文档 注:此文档部分内容来源于cppunit源码解读,以及https://www.ibm.com/developerworks/cn/linux/l-cppunit/index.html与http://blog.youkuaiyun.com/freefalcon/article/details/753819参照该文档可以更好的理解cppunit的使用,无耻的加了原创 一、...

Xiao学生丶的专栏 989

coze开发-5、给智能体添加“技能”

中间编排与技能组件 中间编排的定义 中间编排是指在智能体的构建过程中,使用一些工具对智能体进行协调和管理。通过这些工具,我们能够更好地实现智能体在特定业务场景中的应用。

andyyah晓波的博客 527

Linux下使用CppUnit组织单元测试

本文介绍CppUnit单元测试的一些基础知识和使用方法,其中的一些样例来自于源码,安装和一些基础介绍也可以参见文献[1,2]。

cjf_wei的博客 1496

融合ZILN损失与深度学习的LTV预测:从概率分布到精准营销决策

本文探讨了融合ZILN损失与深度学习的LTV预测方法,通过深度概率模型精准预测用户生命周期价值(LTV),优化营销决策。文章详细解析了ZILN损失函数的优势、模型架构设计要点及工程化落地实践,帮助企业在预算分配、用户分层等场景实现数据驱动的精准营销。

weixin_29093169的博客 308

从论文到生产:iSLIP优先级匹配算法在SDN交换机中的20年演进史

本文回顾了iSLIP优先级匹配算法在SDN交换机中的20年演进历程,从斯坦福大学的原始论文到现代芯片实现。通过独特的指针滑动和迭代循环机制,iSLIP算法显著提升了交换机的吞吐量和公平性,解决了传统FIFO调度的队头阻塞问题。文章详细探讨了算法在硬件实现中的工程挑战、开源实践及未来AI时代的智能调度方向。

weixin_29230649的博客 331

cppunit下载地址

cppunit下载地址http://prdownloads.sourceforge.net/cppunit/其中:软件包:http://prdownloads.sourceforge.net/cppunit/cppunit-1.10.2.tar.gz?download帮助文档:http://prdownloads.sourceforge.net/cppunit/cppunit-docs-1.10.

guow的专栏 4401

【智能车Code review】—曲率计算、最小二乘法拟合

【1】曲率计算函数 选三个点计算曲率 float process_curvity(byte x1, byte y1, byte x2, byte y2, byte x3, byte y3) { float K; int S_of_ABC = ((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) / 2; //面积的符号表示方向 byte q1 = (byte)((x2 - x1) * (x2 - x1) + (y2 - y1) *

hanhan的博客 1万+

linux unittest cpp,Linux下的CppUnit 的HelloWorld手记

操作系统系统:Ubuntu6,g++软件版本:cppunit-1.10.2.tar.gz(1)获得源码:到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。(2)解压缩:使用以下命令即可解压缩tar -zxvf cppunit-1.10.2.tar.gz(3)编译安装cd进cppunit-1.10.2目录下。./confi...

weixin_36174545的博客 175

智能车图像处理19-进阶篇11--斜入十字补线

这篇文章主要讲述智能车竞赛中如何对于斜入十字进行补线操作。

taiyuezyh的博客 7488

部署与可视化系统:移动端落地保姆级教程:YOLOv8 转换为 NCNN 并封装进 Android App 调用摄像头实时检测

本文介绍了在移动端部署YOLOv8模型的最佳实践。通过实测数据对比,采用NCNN框架在骁龙865设备上可实现35+FPS的实时推理性能。文章详细分析了NCNN相比TFLite、MNN等框架的优势,包括更高的ARM CPU性能、更优的Vulkan GPU加速和更小的模型体积。同时提供了从PyTorch模型到NCNN格式的完整转换流程,包括FP16优化和INT8量化方法,并重点解析了YOLOv8特有的输出格式处理要点。建议开发者先在Python环境验证NCNN推理流程,再部署到Android平台,以确保最佳性能

ZXSXJ的博客 209

(转)Linux下的CppUnit 的HelloWorld手记

转自:http://blog.youkuaiyun.com/panyuequn/archive/2009/12/07/4958454.aspx版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。=操作系统系统:Ubuntu6,g++软件版本:cppunit-1.10.2.tar.gz(1)获得源码:    到cppunit.sourceforg

hairetz的专栏 3509

Agent应用实践之二十九 - 设计模式:人机协同

本章讲解了一种比较常见的设计模式:人机协同。通过一些场景举例,同时使用AgentScope本身自带的能力实现的人机协同模式,最后通过源码分析了AgentScope中如何实现。通过了解人机协同模式对于实际工程使用也是非常有用的。

代码让AI扣 305

Linux 下cppunit 的Helloworld 【转载】

版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。= 操作系统系统:Ubuntu6,g++ 软件版本:cppunit-1.10.2.tar.gz (1)获得源码: 到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。 (2)解压缩:...

135

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

cppunit linux,Linux中使用CppUnit工具

介绍Linux平台下CppUnit使用方法Linux中使用Cpp Unit单元测试工具1. 下载安装Cpp Unit:1). 从http://www.wendangwang.com/projects/cppunit 下载CppUnit的源码包,然后解压,生成cppunit文件夹。2). 进入cppunit文件夹,依次运行以下命令:A../configure // ...

weixin_30955739的博客 324

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux c编程之“hello world”一

注]:环境说明:GCC: 4.8.5其他环境下的结果可能不尽相同。声明:本文是我的一点点经验总结,文中可能有理解不到位甚至是错误的,肯请大家多多批评,多提意见。注:这篇总结写于两三年前,虽删改数次,但考虑到自己才疏学浅,实不敢“毁”人不倦,贻笑大方,故当时并未发布。今日闲来无事,忽然想起还有这么一篇总结尚未发布。今日虽又查看了一遍,但难免挂一漏万,怀揣忐忑之情,姑且发布,算是抛砖引玉吧。若本文对阅读者有所帮助,实乃荣幸之至,若有错误或纰漏,万望不吝赐教。本文的资料参考自。

wuj的专栏 2925

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

linux下如何实现helloworld程序

如何从.c文本变成可以打印出”hello world“的可执行文件的呢? /*include head file*/ #include<stdio.h> /*the main function*/ int main(int argc,char *argv[]) { printf("Hello World!"); return 0 ; } linux编译并运行: gcc -o helloWorld helloWorld.c ./helloWorld Hello Wo.

weixin_42536748的博客 2034
上一篇: TCP/IP协议中分包与重组原理介绍
下一篇: 在LINUX中CppUnit应用指南
RunBoying
博客等级 码龄17年 41粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值