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_subdirectoryuntuk menambahkan sumber gtest yang disertakan libgtest-devkarena secara default masuk ke dalamnya /usr/src/googletest.
Berikut ini akan berfungsi
add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)