zoukankan      html  css  js  c++  java
  • 再转一篇gtest1.6安装

    http://www.cppblog.com/izualzhy/archive/2012/07/31/185772.html

    googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。

    源码的获取地址:

    http://code.google.com/p/googletest/downloads/list

    注意1.6这个版本不再提供make install,直接看README吧。

    那么怎么编译呢?

    先进入gtest目录(解压gtest.zip包过程就不说了),执行以下两行命令:

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

    ar -rv libgtest.a gtest-all.o

    碰到的问题:

    /gtest-1.6.0/make$ make
    g++ -I../include -g -Wall -Wextra -lpthread sample1.o sample1_unittest.o gtest_main.a -o sample1_unittest
    gtest_main.a(gtest-all.o): In function `~ThreadLocal':下载了gtest1.5,gtest1.6,直接到make目录下执行make,总是报错如下:
    /home/gary/share/gtest-1.6.0/make/../include/gtest/internal/gtest-port.h:1336: undefined reference to `pthread_getspecific'

    原因是:

    -lpthread的位置不对
    g++ -I../include -g -Wall -Wextra sample1.o sample1_unittest.o gtest_main.a -o sample1_unittest –lpthread

    这个主要是跟编译器获取符号有关,要满足先使用后定义才行。具体来讲就是,如果pthread在前面,编译器看到pthread_getspecific符号没有用到会丢弃掉,后面看到gtest-port需要,但pthread库已经被scan一遍并丢弃。

  • 相关阅读:
    敏捷 咨询师 火星人陈勇博客牛人
    fpa 功能点分析法
    cto职责
    lexus
    c
    zz
    百度效率云
    zz
    产品研发体系中的需求承接与输出
    ESAPI学习笔记
  • 原文地址:https://www.cnblogs.com/code-style/p/3374607.html
Copyright © 2011-2022 走看看