Il pacchetto libgtest-dev sembra installare solo i file header nel sistema, ma non le librerie statiche e dinamiche che dovrebbero essere installate in / usr / lib.
E 'un errore?
Il pacchetto libgtest-dev sembra installare solo i file header nel sistema, ma non le librerie statiche e dinamiche che dovrebbero essere installate in / usr / lib.
E 'un errore?
Risposte:
E 'un errore?
No, è deliberato:
gtest (1.6.0-1ubuntu2) preciso; urgenza = basso * Smetti di distribuire la libreria statica (sebbene continui a crearla, per garantire gtest lavori). Upstream raccomanda di non spedire affatto la libreria, solo il fonte. (Vedi: http://code.google.com/p/googletest/wiki/FAQ) Anche il manutentore Debian ha intenzione di farlo (vedere BTS: 639795); fallo dentro Ubuntu ora soddisfa i requisiti MIR.
cd / usr / src / gtest sudo cmake. sudo make sudo mv libg * / usr / lib /
Modificare:
I nomi sono leggermente cambiati nel corso degli anni, sebbene il processo rimanga lo stesso. In 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 -
Migliorando la risposta di izx avrei usato cmake in questo modo:
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .
e tenterei una build out-of-source:
cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/
Nota che il modo consigliato da google è di far inserire il tuo codice sorgente al tuo progetto esistente dal tuo progetto esistente.
In alternativa, quando si utilizza con CMake, è possibile utilizzare add_subdirectory
per aggiungere l'origine gtest fornita in libgtest-dev
quanto viene utilizzata per impostazione predefinita /usr/src/googletest
.
Di seguito funzionerà
add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)