Google testi için neden kütüphane dosyası yüklü değil?


54

Libgtest-dev paketi sisteme yalnızca başlık dosyaları yükler, fakat / usr / lib altına kurulması gereken statik ve dinamik kütüphaneleri görmezden gelir.

Bir böcek mi?


2
Kasıtlı olduğu için böcek değil; Ancak durum tamamen kafa karıştırıcı. Bu nedenle bugs.debian.org/cgi-bin/bugreport.cgi?bug=802587 adresinde bir hata raporu açtım .
Joachim W

ugh ... boost'un test çerçevesi "sadece işe yarıyor mu"?
Andrew Wagner,

Yanıtlar:


70

Bir böcek mi?

Hayır, kasıtlı:

kesin bir şekilde test etme (1.6.0-1ubuntu2); aciliyet = düşük

  * Statik kitaplığı dağıtmayı durdur (yine de oluştururken, gtest için)
    Eserleri). Akıntıya karşı, kütüphaneciyi hiç sevmemeyi önerir.
    kaynak. (Bkz: http://code.google.com/p/googletest/wiki/FAQ)
    Debian idarecisi bunu da yapmayı planlıyor (bakınız BTS: 639795); içinde yap
    MIR gereksinimlerini karşılamak için şimdi Ubuntu.

Statik kütüphaneler oluşturmak için

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

Düzenle:

Süreç aynı kalmasına rağmen isimler yıllar içinde biraz değişti. Ubuntu 17.04’de:

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

Teşekkürler! Kütüphaneleri bu şekilde inşa ettim. Sadece bir .deb paketi için resmi bir yaklaşım olmayabilir diye düşündüm .
eddyxu

1
Google gizemli yollarla çalışıyor! :) Yardım ettiğine sevindim.
ish

2
Kopyala-yapıştır sürümü:cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/ && cd -
exic

2
Aslında burada açıklanan sebep herhangi bir kütüphaneye uygulanabilir . Örneğin, eğer destek libstdc ++ ile bağlantılıysa ve libc ++ kullanmak istiyorsanız, destek kaynağını kaynaklardan derlemeniz gerekir. Bu çok garip, IMHO
ruslo

7
Bu çok garip asinine. Neden cehenneme kaynak için kütüphaneyi göndermediler? Veya en azından paket kurulumunun otomatik olarak yapmasını sağlayın.
Sahte Adı

23

İzx'in cevabını geliştirmek cmake'ı şu şekilde kullanırdım:

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

ve kaynak dışı bir yapıyı denerim:

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

0

Not tavsiye google tarafından yolu mevcut proje içinde GTEST kaynak kodunu çekin sahip olmaktır.

Alternatif olarak, CMake ile kullanırken add_subdirectory, libgtest-devvarsayılan olarak girdiğinden beri gelen gtest kaynağını eklemek için kullanabilirsiniz /usr/src/googletest.

Aşağıdaki çalışacak

add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.