Googleテスト用のライブラリファイルがインストールされていないのはなぜですか?


54

libgtest-devパッケージはヘッダーファイルをシステムにインストールするだけで、/ usr / libにインストールする必要がある静的および動的ライブラリはインストールしないようです。

バグですか?


2
これは意図的なものであるため、バグではありません。しかし、状況はまったく混乱しています。したがって、バグレポートをbugs.debian.org/cgi-bin/bugreport.cgi?bug=802587に提出しました
ヨアヒムW

ugh ... Boostのテストフレームワークは「正常に動作しますか?」
アンドリューワーグナー

回答:


70

バグですか?

いいえ、意図的です:

gtest(1.6.0-1ubuntu2)正確; urgency = low

  *静的ライブラリの配布を停止します(gtestを確実にするために、まだビルドしますが)
    作品)。上流は、ライブラリをまったく出荷しないことを推奨しています。
    ソース。(参照:http://code.google.com/p/googletest/wiki/FAQ)
    Debianメンテナはこれも行う予定です(BTS:639795を参照)。でやる
    Ubuntuは現在、MIR要件を満たしています。

静的ライブラリを構築するには

cd / usr / src / gtest
sudo cmake。
sudo make
sudo mv libg * / usr / lib /

編集:

プロセスは同じままですが、名前は長年にわたってわずかに変更されています。Ubuntu 17.04の場合:

sudo apt-get install libgtest-dev
cd /usr/src/googletest/googletest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo cp libgtest* /usr/lib/
cd ..
sudo rm -rf build

ありがとう!この方法でライブラリを構築しました。.debパッケージの公式なアプローチではないかもしれないと考えました。
eddyxu

1
Googleは神秘的な方法で機能します!:)それは助けてくれてうれしい。
ISH

2
コピーペーストバージョン:cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/ && cd -
exic

2
実際にここで説明し理由は、どのライブラリにも適用できます。たとえば、boostがlibstdc ++とリンクされており、libc ++を使用する場合は、ソースからboostを再コンパイルする必要があります。不思議です、私見
-ruslo

7
これは恐ろしいアシニンです。なぜ地獄はソースのライブラリを出荷しないのですか?または、少なくともパッケージのインストールで自動的にビルドします。
偽の名前

23

izxの答えを改善するには、この方法でcmakeを使用します。

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

そして、私はアウトソースのビルドを試みます:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/

0

ことに注意してくださいお勧め Googleによる方法は、既存のプロジェクトがでGTESTのソースコードを引くことです。

または、CMakeで使用add_subdirectoryするlibgtest-dev場合、デフォルトでに入るので付属のgtestソースを追加するために使用できます/usr/src/googletest

以下が機能します

add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.