您的位置:首页 > 运维架构 > Linux

Linux下CMake工程中gtest&gmock的安装与使用

2017-03-09 20:47 525 查看

Linux下CMake工程中gtest&gmock的安装与使用

gtest和gmock是什么和功能以及用法可参考以下两篇文章,都相当给力!

gtest

《玩转Google开源C++单元测试框架Google Test系列(gtest)(总)》

http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

gmock

《Google Mock 入门概述》

http://www.cnblogs.com/welkinwalker/archive/2011/11/29/2267225.html

这篇文章主要想讲的就是如何在Linux下编译gtest&gmock的代码,并且在cmake工程中配置它。

编译gtest&gmock

首先,下载代码,地址如下:

https://github.com/google/googletest

第二步,下载完成后用unzip命令解压代码;

第三步,解压完成后,进入目录,利用g++来编译代码,命令如下:

gtest

g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
-pthread -c ${GTEST_DIR}/src/gtest-all.cc
ar -rv libgtest.a gtest-all.o


Note that (We need `-pthread` as Google Test uses threads.)


gmock

g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
-isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
-pthread -c ${GTEST_DIR}/src/gtest-all.cc
g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
-isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
-pthread -c ${GMOCK_DIR}/src/gmock-all.cc
ar -rv libgmock.a gtest-all.o gmock-all.o


其中,GTEST_DIR、GMOCK_DIR就是代码的位置。

配置Cmake工程

第一步,在工程目录下创建lib文件夹和include文件夹;

第二步,把GTEST_DIR和GMOCK_DIR目录下的include文件夹复制到工程的include中,以及把之前编译的libgmock.a和libgtest.a复制到lib下;

第三步,在CMakeLists.txt中添加相应代码,例如:

cmake_minimum_required(VERSION 3.2)
project(gtest_test)
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib )
INCLUDE_DIRECTORIES(  ${PROJECT_SOURCE_DIR}/include )
add_executable(gtest_test Foomain.cpp)
#下面这条语句中,链接了gmock、gtest以及pthread
#pthread是必要的,因为前两者会用到
TARGET_LINK_LIBRARIES(gtest_test gmock gtest pthread)
install(TARGETS gtest_test RUNTIME DESTINATION bin)


这样就成功配置好了一个CMake工程!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: