如何在没有root权限的情况下在Ubuntu上安装Google Test?

我试图根据这个答案安装谷歌testing在Ubuntu没有根访问,因为我需要学习和使用它的工作。

pipe理得到这些在我自己的用户文件夹中完成:

$ 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了,尽pipe我不想用这个,因为不是我安装了它,而且我也不确定它的版本,也没有它的可用性。 甚至无法删除它未经许可。

该指令仍然是:

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

我在这里错过了什么?

Solutions Collecting From Web of "如何在没有root权限的情况下在Ubuntu上安装Google Test?"

假设你想在/home/me/googletest安装/home/me/googletest

浏览到googletest GitHub repo https://github.com/google/googletest 。 (不要使用你可能在其他地方得到的最新版本。)

使用克隆或下载链接,克隆或下载并解压源代码(比方说) ./googletest在您当前目录下的CWDCWD不是/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/googletestCWD/googletest_build

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