ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux-如何在没有root用户访问权限的Ubuntu上安装Google Test?

2019-10-26 21:50:31  阅读:291  来源: 互联网

标签:ubuntu install googletest linux


我正在尝试在没有root访问权限的Ubuntu上根据this answer安装Google Test,因为我需要在工作中学习和使用它.

设法在我自己的用户文件夹中完成这些操作:

$mkdir ~/temp
$cd ~/temp
$unzip gtest-1.7.0.zip 
$cd gtest-1.7.0
$mkdir mybuild
$cd mybuild
$cmake -DBUILD_SHARED_LIBS=ON -Dgtest_build_samples=ON -G"Unix Makefiles" ..
$make

似乎我已经在/usr/src / gtest中已经有了gtest,尽管我不想使用它,因为不是我安装了它,也不知道它的版本或可用性.未经许可甚至无法删除.

该指令仍然以以下形式结束:

$cp -r ../include/gtest ~/usr/gtest/include/
$cp lib*.so ~/usr/gtest/lib

我在这里想念什么?

解决方法:

假设您要在/ home / me / googletest中安装googletest.

浏览到googletest GitHub存储库https://github.com/google/googletest. (不要使用您可能在其他地方获得的过时版本.)

使用克隆或下载链接,克隆或下载并提取
来源为(/假设)./googletest当前目录下的CWD(其中CWD不是/ home / me /).

然后在CWD中:-

$mkdir googletest_build
$cd googletest_build
$cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest
$make
$make install

之后,您会发现:-

/home/me/googletest/
                lib/
                    libgmock.a
                    libgmock_main.a
                    libgtest.a
                    libgtest_main.a
                include/
                        gmock/
                            # gmock header files
                        gtest/
                            # gtest header files

然后,您可以在源代码中使用gtest / gmock标头,例如:

#include <gtest/gtest.h>
#include <gmock/gmock.h>

并编译并链接gtest / gmock程序,例如:

g++ -pthread -I/home/me/googletest/include -c -o my-unit-tester.o my-unit-tester.cpp
g++ -o my-unit-tester my-unit-tester.o -L/home/me/googletest/lib -lgtest -lgmock -pthread

使用-I …选项告诉编译器gtest / gmock头在哪里,以及
使用-L …选项告诉链接程序gtest / gmock库在哪里.

将-pthread传递给编译器和链接器,因为gtest / gmock库是
默认情况下内置多线程.

安装后,您不再需要CWD / googletest或CWD / googletest_build.

您可能希望将其他选项传递给cmake,在这种情况下,构建产品将根据这些其他选项的含义而有所不同.

标签:ubuntu,install,googletest,linux
来源: https://codeday.me/bug/20191026/1939782.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有