Как установить google-mock на Ubuntu 12.10

Что это значит?

Ваши действия записываются, чтобы лучше понять, как вы используете вашу систему. Используя эти обширные знания, производительность системы может быть значительно улучшена.

Например, зная, какое приложение вы запускаете при запуске компьютера, поможет системе предварительно запустить приложение в будущем и т. д.

Что это значит точно?

Какие действия записываются?

Действия, такие как просмотр и редактирование аудио, видео, документов, заметок, изображений, разговоров в Empathy, писем, музыки, все записано. Также записывается не только сама деятельность, но и то, как вы выполняли эту деятельность.

В случае прослушивания музыки будет записано, как вы сыграли песню, в том числе, запустили ли вы ее из тире Unity, Nautilus или из Rhythmbox и т. д.

Где я могу найти записанные данные?

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

Данные вашей активности хранятся в .

Вы можете использовать журнал gnome-activity для просмотра записанных действий по-дружески.

1
задан 20 November 2012 в 05:07

2 ответа

Чтобы дать контекст ответу Павла, скомпилированный двоичный файл Google Mock не распространяется вместе с пакетом Ubuntu из-за причины, приведенной здесь. Это объяснение для Google Test, но этот принцип применим к любой библиотеке C ++.

В частности, он говорит:

В первые дни мы сказали, что вы можете установить скомпилированные библиотеки Google Test on * nix, используя make install. Затем каждый пользователь вашей машины может писать тесты без перекомпиляции Google Test. Это показалось хорошей идеей, но у нее есть got-cha: каждый пользователь должен скомпилировать свои тесты, используя те же флаги компилятора, которые использовались для компиляции установленных тестовых библиотек Google; в противном случае он может столкнуться с неопределенным поведением (т. е. тесты могут вести себя странно и могут даже сбой по очевидным причинам). Зачем? Поскольку C ++ имеет эту вещь, называемую Правилом одного определения: если два исходных файла C ++ содержат разные определения одного и того же класса / функции / переменной, и вы связываете их вместе, вы нарушаете правило. Компилятор может или не может поймать ошибку (во многих случаях не требуется, чтобы стандарт C ++ обнаружил нарушение). Если это не так, вы получаете странное поведение во время выполнения, которое неожиданно и сложно отлаживать. Если вы скомпилируете Google Test и ваш тестовый код с использованием разных флагов компилятора, они могут видеть разные определения одного и того же класса / функции / переменной (например, из-за использования #if в Google Test). Поэтому для вашего удобства мы рекомендуем избегать установки предварительно скомпилированных библиотек Google Test. Вместо этого каждый проект должен скомпилировать сам Google Test, так что он может быть уверен, что те же флаги используются как для Google Test, так и для тестов.

Итак, ваша первоначальная проблема заключалась в том, что при установке пакета google-mock был установлен только исходный код, а когда вы пытались скомпилировать свое приложение-образец, библиотека gmock не была найдена.

2
ответ дан 25 May 2018 в 04:12
  • 1
    Интересно, почему это так. Существует много библиотек C ++, которые работают в прекомпилированном режиме внутри / lib. – Slazer 29 November 2012 в 01:39

libgmock-dev будет включен в репозитории Ubuntu 18.10 по умолчанию, иначе в более ранних версиях Ubuntu вам придется вручную загрузить и установить его.

sudo apt-get install libgmock-dev
cd /usr/src/gmock
sudo mkdir build
sudo cmake ..
sudo make
sudo cp *.a /usr/lib
0
ответ дан 25 May 2018 в 04:12
  • 1
    убедитесь, что вы добавили подробное объяснение того, что вы предлагаете пользователю. – Juan Antonio 23 May 2018 в 19:48

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

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