Por que nenhum arquivo de biblioteca instalado para o teste do Google?

48

O pacote libgtest-dev parece instalar apenas arquivos de cabeçalho no sistema, mas não as bibliotecas estáticas e dinâmicas que devem ser instaladas em / usr / lib.

É um erro?

    
por eddyxu 03.06.2012 / 14:01

3 respostas

64
  

É um erro?

Não, é deliberado:

gtest (1.6.0-1ubuntu2) precise; urgency=low

  * Stop distributing static library (although still build it, to ensure gtest
    works).  Upstream recommends against shipping the libary at all, just the
    source. (See: http://code.google.com/p/googletest/wiki/FAQ)
    The Debian maintainer plans to do this also (see BTS: 639795); do it in
    Ubuntu now to fulfil MIR requirements.

Para construir bibliotecas estáticas

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

Editar:

Os nomes mudaram ligeiramente ao longo dos anos, embora o processo permaneça o mesmo. No 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
    
por ish 03.06.2012 / 15:06
20

Melhorando a resposta do izx eu teria usado o cmake dessa maneira:

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

e eu tentaria uma compilação fora da fonte:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/
    
por Wojciech Migda 16.03.2013 / 20:58
0

Deve ser um bug de dependência, libgtest deve ser instalado junto com libgtest-dev .

Você pode tentar apt-get install -y libgtest primeiro?

Lembre-se também de enviar um relatório de bug no Ubuntu.

    
por daisy 03.06.2012 / 15:02