zoukankan      html  css  js  c++  java
  • 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代码这种极端的手段, , , , ,

  • 相关阅读:
    Cglib的动态代理
    idea中隐藏.idea文件夹和.iml文件
    JDBC工具类创建及使用
    JDBC的配置及使用入门
    mybatis的入门
    动态代理的具体实现
    【Flask】WTForms基本使用
    【Flask】Flask-Migrate基本使用
    【Flask】Flask-Sqlalchemy使用笔记
    【Flask】Sqlalchemy 子查询
  • 原文地址:https://www.cnblogs.com/HGtz2222/p/2598189.html
Copyright © 2011-2022 走看看