linux tbb 安装_Linux环境下配置Google Test、TBB、OpenMP和OpenCV

最近逐渐把开发环境从Windows转到Linux下,原因是Visual Studio提供的环境太庞大,总感觉看不到全貌,并且对于C++11的支持实在是太慢了。而在Linux下,有非常大的选择空间,编辑器可以选vim或者emacs,两者都是顶级的文本编辑器(不仅仅是文本编辑器)。编译器可以选g++或者clang,两者对于C++11的支持已经几乎完整了。另外还有各种优秀的工具可以选择,可以用autotools或者cmake来build工程,用gdb进行调试,用cppcheck做静态类型检查(也可以配置到VS中),用valgrind对程序进行动态分析。这就是Linux的好处,各种优秀的工具随你组合,VS是个巨无霸,感觉程序员的创造力受到了限制。

这两天把VS上的工程全部移植到Linux上,全部用g++配合makefile进行编译,因为代码规模不是特别大,所以makefile是直接手写的。移植的过程中,一些第三方的库要配置,包括Goolge Test(Google的C++测试框架)、TBB(Intel的C++多线程库)、OpenMP(开放标准的并行程序指导性注释)和OpenCV(一个跨平台的计算机视觉库)。所以把配置的过程记录下来,方便以后查阅,也希望能够给大家提供一些参考。

一、配置Google Test

现在gtest的最新版本是1.6.0,按以下步骤下载和安装:

wget https://googletest.googlecode.com/files/gtest-1.6.0.zip

unzip gtest-1.6.0.zipcd gtest-1.6.0g++ -I./include -I./ -c ./src/gtest-all.cc

ar -rv libgtest.a gtest-all.o

注意:这边其实就是产生了libgtest.a文件,以后需要用的时候,就把这个静态库拷贝到对应的工程下,链接的时候加上它就可以了,如:

g++ –o target source1.o source2.o libgtest.a

另外,把gtest-1.6.0下面的include/gtest目录拷贝到全局头文件目录,如:

cp -r include/gtest/ /usr/local/include/

在用到gtest的文件中,用#include 指令就可以让编译器找到gtest的头文件了。

比如我写了一个比较几个常用排序的算法的测试:

#include //引入gtest头文件

#include"QuickSort.h"#include"InsertionSort.h"#include"HeapSort.h"

using namespaceCodeMood;

TEST(SortingTest, insertion_sort)//用TEST宏定义一个测试用例,括号里的两个参数起标识作用

{

vector vec =generate_random();

TIME_STD(test_sorting(insertion_sort, vec));

EXPECT_TRUE(is_sorted(begin(vec), end(vec)));//待验证的性质

}

TEST(SortingTest, heap_sort)

{

vector vec = generate_random(1);

TIME_STD(test_sorting(heap_sort, vec));

EXPECT_TRUE(is_sorted(begin(vec), end(vec)));

}

TEST(SortingTest, quick_sort)

{

vector vec =generate_random();

TIME_STD(test_sorting(quick_sort, vec));

EXPECT_TRUE(is_sorted(begin(vec), end(vec)));

}

TEST(SortingTest, std_sort)

{

vector vec =generate_random();

TIME_STD(std::sort(begin(vec), end(vec)));

EXPECT_TRUE(is_sorted(begin(vec), end(vec)));

}int main(int argc, char*argv[])

{

::testing::InitGoogleTest(&argc, argv); //初始化gtest

return RUN_ALL_TESTS(); //运行所有测试用例

}

用法很简单,从上面的例子应该就知道怎么用了,这边不具体说明用法,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值