gtest学习(一)在linux下的安装

gtest学习(一)在linux下的安装

chenxun

一、下载gtest

gtest是google的,被墙了,所以百度自己下载一个版本,我下载的版本如下图所示。


下载完后弄到自己的linux系统上,unzip命令来解压


二、安装部署步骤

1.    第一步进入解压的文件中去如下


没事我们可以浏览一下此目录下文件,


文件夹下好多文件,因为包含各种平台的版本,所以在这里我们只关心linux下的版本。那么我们就进入make目录下,进入make目录我们只看到了一个makefile文件。如果你不熟悉makefile不要紧,请看下面的讲解,你也许能了解一二。


         接下来我们运行make命令吧,make编译完成后


好了,关键的的时候到了,这个目录下有一个重要的文件gtest_main.a文件,如果你想看是怎么生成的请看Makefile文件,其主要步骤如下:

gtest-all.o : $(GTEST_SRCS_)

   $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \

           $(GTEST_DIR)/src/gtest-all.cc

gtest_main.o : $(GTEST_SRCS_)

   $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \

           $(GTEST_DIR)/src/gtest_main.cc

gtest.a : gtest-all.o

   $(AR) $(ARFLAGS) $@ $^

gtest_main.a : gtest-all.o gtest_main.o

$(AR) $(ARFLAGS)$@ $^

 

如果不关心也不要紧,直接把gtest_main.a拿来用就ok了。

 

2.    建立自己的工程目录

mkdir  gtest_program

3.    把第一步中的gtest_main.a文件和include目录移动自己的工程目录下面

cp -r ../gtest-1.7.0/include/   ./

在工程目录下创建lib目录

mkdir lib

cd lib

cp ../../gtest-1.7.0/make/gtest_main.a  ./

现在你的lib目录下面有一个gtest_main.a

由于gtest_main.a命令不符合libXXX.a的格式,所以可以做一个软连接(相当于为gtest_main.a起一个别名),键入如下命令

运行ln -s gtest_main.a  libgtest


4.   在gtest_program目录下创建自己的src目录

把gtest安装目录下面的例子拷贝到自己的include和src目录下面

命令如下:(注意你自己的文件路劲来cp

cp ../gtest-1.7.0/samples/sample1.h include/

cp ../gtest-1.7.0/samples/sample1.cc   src/sample1.cpp

cp ../gtest-1.7.0/samples/sample1_unittest.cc   src/sample1_unittest.cpp

 

5.   编写的自己的makefile

下面的makefile我是自己平时用的模板,大家如果觉得好是使用的话拿去用吧,

CC = gcc

XX = g++

CFLAGS = -W -O0-fPIC

target =./run_test

includes = -I ./\

                         -I ../ \

                         -I/root/gtest_program/include \

#the a file path

lib_path = -L./   \

               -L ../ \

               -L /root/gtest_program/lib

#link lib.a file

lib = -lpthread \

               -lgtest\

INCLUDE :=$(includes)

user_dir = ./ \

 ./src

files = $(foreachd, $(user_dir), $(wildcard $(d)/*.cpp))

objects =$(patsubst %.cpp, %.o, $(files))

$(target) :$(objects)

      $(XX) $^ -o $@  $(lib_path) $(lib)

%.o : %.cpp

      $(XX) $(CFLAGS) $(includes) -c  $^  -g-o  $@ -DLinux

clean :

      rm -rf $(target)

      rm -rf $(objects)

 

6.   有了自己的makefile文件后自己编译。


7.   好了以上操作过程你搞懂了,那么你基本可以有一套自己的gtest编译环境了,把自己写的头文件和cpp文件搞到include和src文件夹下就可以用自己的makefile来编译了。

 

 

 

 

 

你可能感兴趣的:(c/c++学习笔记)