web-dev-qa-db-fra.com

Pourquoi aucun fichier de bibliothèque installé pour google test?

Le paquetage libgtest-dev semble n'installer que les fichiers d'en-tête sur le système, mais pas les bibliothèques statiques et dynamiques à installer sous/usr/lib.

Est-ce un bug?

53
eddyxu

Est-ce un bug?

Non, c'est délibéré:

 gtest (1.6.0-1ubuntu2) précis; urgence = faible 
 
 * Arrêtez de distribuer la bibliothèque statique (même si vous la construisez toujours, pour vous assurer que gtest 
 fonctionne). Upstream recommande de ne pas expédier la librairie, mais seulement la source 
. (Voir: http://code.google.com/p/googletest/wiki/FAQ)
 Le mainteneur Debian a l'intention de le faire également (voir BTS: 639795); faites-le dans 
 Ubuntu maintenant pour répondre aux exigences de MIR. 

Construire des bibliothèques statiques

 cd /usr/src/gtest[.____.Sudo cmake. 
 Sudo make 
 Sudo mv libg * /usr/lib/

Modifier:

Les noms ont légèrement changé au fil des ans, bien que le processus reste le même. Dans 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
70
ish

En améliorant la réponse d'izx, j'aurais utilisé cmake de cette façon:

Sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

et je tenterais une construction hors source:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
Sudo mv libg* /usr/lib/
23
Wojciech Migda

Ce devrait être un bogue de dépendance, libgtest devrait être installé avec libgtest-dev.

Pouvez-vous essayer apt-get install -y libgtest en premier?

Rappelez-vous également de soumettre un rapport de bogue sur Ubuntu.

1
daisy