2016-07-15 25 views
3

Ubuntuでthis answerに基づいてGoogleテストをインストールしようとしていますが、私は仕事でそれを学んで使用する必要があるため、ルートアクセスは必要ありません。root権限なしでUbuntuに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 

GTESTでは/ usr/src/GTESTそれは私ではなかったので、私は、これを使用したくないaltough誰がそれをインストールしたのですか、私はそのバージョンや可用性についてはわかりません。許可なく削除することはできません。

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

が、私はここで何をしないのです:?

それでも命令を通り終了しますか

+0

多分あなたがhttp://askubuntu.com/でこの質問をしたら –

答えて

4

googletestを/home/me/googletestにインストールしたいとします。

googletest GitHubリポジトリhttps://github.com/google/googletestを参照してください。 (さんが言わせて)./googletestとしてクローンを使用して

を(あなたが他の場所で持っていることがあり、おそらく-out-の最新バージョンを使用しないでください)またはリンクをダウンロードして、クローンまたはダウンロード・アンド・エキス ソースのいずれか現在のディレクトリCWDCWD/home/me/ではありません)の下にあります。

次にCWDに: - この後

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

、あなたが見つける: - :

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

/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ヘッダーを使用することができます

などの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 

GTEST/gmockライブラリが存在するリンカーを伝えるために-L...オプションを使用してGTEST/gmockヘッダが存在するコンパイラと を伝えるために-I...オプションを使用して。

gtest/gmockライブラリはデフォルトでマルチスレッド化された であるため、-pthreadをコンパイラとリンカの両方に渡します。

インストール後に、CWD/googletestまたはCWD/googletest_buildのいずれかが不要になりました。

cmakeに追加オプションを渡すこともできます。この場合、ビルド製品は追加オプションの意味に応じて異なります。

+0

明日は確かに説明をしてくれてありがとうございます。 – MattSom

+0

make installコマンドの後、これは私が得るものです: ** _ make:***ターゲット 'install 'を作るルールはありません。停止._ ** それはどういう意味ですか?私の家/私/ googletestは空にとどまった。 – MattSom

+0

https:// githubの最新のgoogletestマスターソースを入手して使用しましたか?co.jp/google/googletestと答えていますか? –

関連する問題