Почему не установлены файлы библиотеки для теста Google?

Похоже, что пакет libgtest-dev устанавливает в систему только заголовочные файлы, но не статические и динамические библиотеки, которые должны быть установлены в /usr/lib.

.

Это ошибка?

54
задан 9 May 2014 в 02:06

4 ответа

Действительно ли это - ошибка?

Нет, это является преднамеренным:

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.

Создавать статические библиотеки

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

Править:

Имена изменились немного за эти годы, хотя процесс остается тем же. В 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
70
ответ дан 9 May 2014 в 02:06

Улучшая ответ izx, я бы использовал cmake следующим образом:

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

, и я бы попытался построить сборку вне источника:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/
0
ответ дан 9 May 2014 в 02:06

Это должна быть ошибка зависимости, libgtest должна быть установлена ​​вместе с libgtest-dev.

Можете ли вы сначала попробовать apt-get install -y libgtest?

Также не забудьте отправить отчет об ошибке в Ubuntu.

0
ответ дан 9 May 2014 в 02:06

Обратите внимание, что рекомендовал , путь Google состоит в том, чтобы иметь Ваш существующий проект, втягивают gtest исходный код.

, С другой стороны, при использовании с CMake, можно использовать add_subdirectory для добавления gtest источника, который шел libgtest-dev, так как он по умолчанию входит /usr/src/googletest.

следующее будет работать

add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)
0
ответ дан 22 October 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: