Ubuntu 16.04安装gtest遇坑,成功安装及使用记录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Ubuntu 16.04安装gtest遇坑,成功安装及使用记录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2296字,纯文字阅读大概需要4分钟。
内容图文
![Ubuntu 16.04安装gtest遇坑,成功安装及使用记录](/upload/InfoBanner/zyjiaocheng/929/6d806625015f418d8c69ce5c2f631095.jpg)
命令行安装失败
今天按照网上教程安装gtest
ubuntu@ubuntu:~$ sudo apt-get install libgtest-dev
安装完了之后写了一个测试案例test.cpp:
//test.cpp
# include <gtest/gtest.h>
int Add( int a, int b) //计算两数之和
{
return a+b;
}
TEST(AddTest, IntTest)
{
EXPECT_EQ( 8 , Add( 2 , 5 ));
EXPECT_EQ( 7 , Add( 2 , 5 ));
EXPECT_EQ( 6 , Add( 2 , 4 ));
EXPECT_EQ( 15 , Add( 6 , 9 ));
}
int main( int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
终端输入
ubuntu@ubuntu:~$ g++ --std=c++11 test1.cpp -o test1 -lgtest_main -lgtest -lpthread
报错:
/usr/bin/ld: cannot find -lgtest
源码安装遇坑
github上下载源码:
ubuntu@ubuntu:~$ git clone https://github.com/google/googletest.git
源码编译:
ubuntu@ubuntu:~$ cd googletest
ubuntu@ubuntu:~/googletest$ mkdir build
ubuntu@ubuntu:~/googletest/build$ cd build
ubuntu@ubuntu:~/googletest/build$ cmake ..
ubuntu@ubuntu:~/googletest/build$ make -j
报错:
源码编译居然会报错。。。
仔细检查第一条错误,原来需要用c++11的标准来编译代码。
打开googletest文件夹里面的CMakeLists.txt
在里面新增这一行
add_definitions(-std=c++11)
此时CMakeLists.txt为:
# Note: CMake support is community-based. The maintainers do not use CMake
# internally.
cmake_minimum_required(VERSION 2.8.12)
add_definitions(-std=c++11) #########把这行加进去#################
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif (POLICY CMP0048)
project(googletest-distribution)
set(GOOGLETEST_VERSION 1.10.0)
if (CMAKE_VERSION VERSION_GREATER "3.0.2")
if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
endif()
enable_testing()
include(CMakeDependentOption)
include(GNUInstallDirs)
#Note that googlemock target already builds googletest
option(BUILD_GMOCK "Builds the googlemock subproject" ON)
option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON)
if(BUILD_GMOCK)
add_subdirectory( googlemock )
else()
add_subdirectory( googletest )
endif()
修改完成之和,再进行编译。
ubuntu@ubuntu:~/googletest/build$ cmake ..
ubuntu@ubuntu:~/googletest/build$ make -j
ubuntu@ubuntu:~/googletest/build$ sudo make install
安装完成。
gtest测试
终端输入
ubuntu@ubuntu:~$ g++ --std=c++11 test.cpp -o test1 -lgtest_main -lgtest -lpthread
编译成功,在终端输入
ubuntu@ubuntu:~$ ./test
输出如下结果:
内容总结
以上是互联网集市为您收集整理的Ubuntu 16.04安装gtest遇坑,成功安装及使用记录全部内容,希望文章能够帮你解决Ubuntu 16.04安装gtest遇坑,成功安装及使用记录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。