El paquete libgtest-dev parece solo instalar archivos de encabezado en el sistema, pero no las bibliotecas estáticas y dinámicas que deberían instalarse en / usr / lib.
¿Es un error?
El paquete libgtest-dev parece solo instalar archivos de encabezado en el sistema, pero no las bibliotecas estáticas y dinámicas que deberían instalarse en / usr / lib.
¿Es un error?
Respuestas:
¿Es un error?
No, es deliberado:
gtest (1.6.0-1ubuntu2) preciso; urgencia = baja * Deje de distribuir la biblioteca estática (aunque todavía la construye, para garantizar gtest trabajos). Upstream recomienda no enviar la biblioteca en absoluto, solo el fuente. (Ver: http://code.google.com/p/googletest/wiki/FAQ) El mantenedor de Debian planea hacer esto también (ver BTS: 639795); hazlo en Ubuntu ahora para cumplir con los requisitos de MIR.
cd / usr / src / gtest sudo cmake. sudo make sudo mv libg * / usr / lib /
Editar:
Los nombres han cambiado ligeramente a lo largo de los años, aunque el proceso sigue siendo el mismo. En 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
cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/ && cd -
Mejorando la respuesta de izx, habría usado cmake de esta manera:
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .
e intentaría una compilación fuera de la fuente:
cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/
Tenga en cuenta que la forma recomendada por Google es hacer que su proyecto existente extraiga el código fuente gtest.
Alternativamente, cuando se usa con CMake, puede usar add_subdirectory
para agregar la fuente gtest que viene con la que viene libgtest-dev
por defecto /usr/src/googletest
.
Lo siguiente funcionará
add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)