0
点赞
收藏
分享

微信扫一扫

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


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

chenxun

一、下载gtest

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

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

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

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

二、安装部署步骤

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

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

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

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

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

gtest学习(一)在linux下的安装_.a文件_05

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

gtest学习(一)在linux下的安装_百度_06

好了,关键的的时候到了,这个目录下有一个重要的文件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

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

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 = ./ \

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文件后自己编译。

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

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

 

 

 

 

 

举报

相关推荐

0 条评论