• Boost.test库的配置


      资料: 参考Boost库完全开发指南

      之前都是手动管理各种测试用例, 一个测试用例放在一个文件夹中, 创建也麻烦, 管理起来很不方便. 正好在接触boost, 于是想以后尽量使用这个吧~. 

      按照文档中的说法, test库的hpp文件可以直接使用, 也可以编译了再使用. 先用bjam编译了一把, 弄出一大坨dll和a文件, , , , 尴尬的是布吉岛mingw该怎么用, , , , T_T. 于是使用另外一种方法使用test库, 也是Boost库完全开发指南上面推荐的一种方法. 

      首先建立一个cpp文件test_main.cpp, 里面只有两行代码:

    1 #define BOOST_TEST_MAIN
    2 #include <boost/test/included/unit_test.hpp>

      上面#include的那个hpp文件包含了unit_test库的所有实现. 

      test_main.cpp起到辅助编译test库的作用, 里面的内容不应该变动. 

      然后建立一个写测试用例的cpp文件, 比如, 名字叫做main.cpp

     1 #include <boost/test/unit_test.hpp>
     2 using namespace boost;
     3 
     4 BOOST_AUTO_TEST_SUITE(s_hello)
     5 
     6 BOOST_AUTO_TEST_CASE(t_hello)
     7 {
     8     BOOST_CHECK(true);
     9 }
    10 
    11 BOOST_AUTO_TEST_SUITE_END()

      然后同时编译这两个cpp文件. makefile如下: 

    a.exe:main.cpp test_main.cpp
        g++ test_main.cpp main.cpp -I D:/workplace/tools/boost_1_49_0 -std=c++0x 

      然后编译的时候会遇到一个错误, , , , 

      google了一下, putenv是stdlib.h中的函数, 用来添加环境变量的~~

      打开报错的那个config.hpp, 看见硕大的一个cstdlib就在上面~~. 既然gcc有点抽风, 索性手一贱就把putenv注释掉了~~嘛, 然后就可以用了~~目前为止倒是表现良好的说~~

      补充说明, 文章上面的情况出现在开发环境win7+mingw4.4+boost1.49.0中. 但是在linux中倒是木有使用修改Boost代码这种极端的手段, , , , ,

  • 相关阅读:
    链表--判断一个链表是否为回文结构
    矩阵--“之”字形打印矩阵
    二叉树——平衡二叉树,二叉搜索树,完全二叉树
    链表--反转单向和双向链表
    codeforces 490C. Hacking Cypher 解题报告
    codeforces 490B.Queue 解题报告
    BestCoder19 1001.Alexandra and Prime Numbers(hdu 5108) 解题报告
    codeforces 488A. Giga Tower 解题报告
    codeforces 489C.Given Length and Sum of Digits... 解题报告
    codeforces 489B. BerSU Ball 解题报告
  • 原文地址:https://www.cnblogs.com/HGtz2222/p/2598189.html
Copyright © 2020-2023  润新知