GNU/Linux >> Linux の 問題 >  >> Linux

Linux で googleTest を共有ライブラリとして設定する方法

通常の「make install」が削除されており、cmake を使用していないため、これを理解するのにしばらく時間がかかりました。これが私の経験です。職場では Linux のルート アクセス権がないため、ホーム ディレクトリ ~/usr/gtest/ に Google テスト フレームワークをインストールしました。 .

~/usr/gtest/ にパッケージを共有ライブラリとしてインストールし、サンプル ビルドも一緒にインストールするには:

$ 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
$ cp -r ../include/gtest ~/usr/gtest/include/
$ cp lib*.so ~/usr/gtest/lib

インストールを検証するには、次の test.c を簡単なテスト例として使用します:

    #include <gtest/gtest.h>
    TEST(MathTest, TwoPlusTwoEqualsFour) {
        EXPECT_EQ(2 + 2, 4);
    }

    int main(int argc, char **argv) {
        ::testing::InitGoogleTest( &argc, argv );
        return RUN_ALL_TESTS();
    }

コンパイルするには:

    $ export GTEST_HOME=~/usr/gtest
    $ export LD_LIBRARY_PATH=$GTEST_HOME/lib:$LD_LIBRARY_PATH
    $ g++ -I $GTEST_HOME/include -L $GTEST_HOME/lib -lgtest -lgtest_main -lpthread test.cpp 

開始する前に、Google からのこのメモを読んで理解していることを確認してください。このチュートリアルでは gtest を簡単に使用できますが、厄介なバグが発生する可能性があります。

1. googletest フレームワークを入手

wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz

または、手で取得します。この小さなハウツーは維持しませんので、偶然見つけてリンクが古くなっている場合は、自由に編集してください。

2. Google テストの解凍とビルド

tar xf release-1.8.0.tar.gz
cd googletest-release-1.8.0
cmake -DBUILD_SHARED_LIBS=ON .
make

3.システムにヘッダーとライブラリを「インストール」します。

この手順はディストリビューションによって異なる場合があるため、ヘッダーとライブラリを正しいディレクトリにコピーしてください。これは、Debian の以前の gtest ライブラリがどこにあるかを確認することで実現しました。しかし、これを行うためのより良い方法があると確信しています.

sudo cp -a googletest/include/gtest /usr/include
sudo cp -a googlemock/gtest/libgtest_main.so googlemock/gtest/libgtest.so /usr/lib/

# The easiest/best way:
make install  # Note: before v1.11 this can be dangerous and is not supported

4.リンカーのキャッシュを更新

... そして、GNU リンカがライブラリを認識しているかどうかを確認します

sudo ldconfig -v | grep gtest

出力が次のようになっている場合:

libgtest.so.0 -> libgtest.so.0.0.0
libgtest_main.so.0 -> libgtest_main.so.0.0.0

gTestframework を使用する準備が整いました。 -lgtest を設定して、プロジェクトをライブラリにリンクすることを忘れないでください リンカー フラグとして、およびオプションで、独自のテスト メインルーチンを作成していない場合は、明示的な -lgtest_main

ここから先は、Google のドキュメントや、フレームワークに関する古いドキュメントにアクセスして、フレームワークのしくみを学習することをお勧めします。コーディングをお楽しみください!

編集: これは OS X でも機能します。 「OS X で googleTest を適切にセットアップする方法」を参照してください


ubuntu ユーザー向けに具​​体的にお答えしましょう。まず、gtest 開発パッケージをインストールすることから始めてください。

sudo apt-get install libgtest-dev

このパッケージはソース ファイルのみをインストールすることに注意してください。必要なライブラリ ファイルを作成するには、自分でコードをコンパイルする必要があります。これらのソース ファイルは、/usr/src/gtest に配置する必要があります。このフォルダーを参照し、cmake を使用してライブラリをコンパイルします:

sudo apt-get install cmake # install cmake
cd /usr/src/gtest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo make install

gtest を使用するプログラムをコンパイルするには、次のものとリンクする必要があります:

-lgtest -lgtest_main -lpthread

これは、Ubuntu 14.04LTS で完全に機能しました。


Linux
  1. Linuxでタイムゾーンを設定または変更する方法

  2. Linuxで$Path変数を設定する方法

  3. Linux 共有ライブラリの紹介 (共有ライブラリの作成方法)

  1. Linuxでシステムホスト名を設定または変更する方法

  2. Linux で共有ライブラリを初期化する方法

  3. Linux で共有ライブラリのバージョン管理を行う方法は?

  1. LinuxにNcursesライブラリをインストールする方法

  2. Linuxのchrootjailを設定する方法

  3. Linux で共有ライブラリの遅延ロードを行う方法