Paket libgtest-dev tampaknya hanya menginstal file header ke sistem, tetapi bukan perpustakaan statis dan dinamis yang harus diinstal di bawah / usr / lib.
Apakah ini bug?
Paket libgtest-dev tampaknya hanya menginstal file header ke sistem, tetapi bukan perpustakaan statis dan dinamis yang harus diinstal di bawah / usr / lib.
Apakah ini bug?
Jawaban:
Apakah ini bug?
Tidak, ini disengaja:
gtest (1.6.0-1ubuntu2) tepat; urgensi = rendah * Berhenti mendistribusikan perpustakaan statis (meskipun masih membangunnya, untuk memastikan gtest bekerja). Hulu merekomendasikan untuk tidak mengirimkan perpustakaan sama sekali, hanya saja sumber. (Lihat: http://code.google.com/p/googletest/wiki/FAQ) Pemelihara Debian berencana untuk melakukan hal ini juga (lihat BTS: 639795); lakukan itu Ubuntu sekarang untuk memenuhi persyaratan MIR.
cd / usr / src / gtest sudo cmake. sudo buat sudo mv libg * / usr / lib /
Sunting:
Nama-nama telah berubah sedikit selama bertahun-tahun, meskipun prosesnya tetap sama. Di 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 -
Meningkatkan pada jawaban izx saya akan menggunakan cmake dengan cara ini:
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .
dan saya akan mencoba membangun di luar sumber:
cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/
Perhatikan bahwa cara yang disarankan oleh google adalah meminta proyek Anda yang ada menarik kode sumber gtest.
Atau, saat menggunakan CMake, Anda dapat menggunakan add_subdirectory
untuk menambahkan sumber gtest yang disertakan libgtest-dev
karena secara default masuk ke dalamnya /usr/src/googletest
.
Berikut ini akan berfungsi
add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)