Почему рекомендуется включать googletest исходные файлы - PullRequest
1 голос
/ 19 марта 2019

Просто короткий и простой вопрос, Почему рекомендуется компилировать googletest и googlemock в каждом проекте, включая исходные файлы (вместо использования cmake для архивирования библиотеки с расширением «.a», а затем связывая ее со многими проектами).

источник: https://www.jetbrains.com/help/clion/creating-google-test-run-debug-configuration-for-test.html

1 Ответ

2 голосов
/ 19 марта 2019

Потому что файл .a, созданный googletest, будет отличаться в зависимости от флагов компилятора.Разные тестовые проекты, которые вы хотите создать, могут устанавливать их по-разному, и это может вызвать проблемы, если они ссылаются на общий файл googletest '.a'.

Из 'make install' считается вредным :

В файле README для gtest и gmock мы сказали, что вы можете установить скомпилированные библиотеки gtest и gmock в системах * nix с помощью команды make install.Тогда каждый пользователь вашей машины может писать тесты без перекомпиляции gtest или gmock.

Это казалось хорошей идеей, когда мы писали README, но у него есть кое-что: каждый пользователь должен скомпилировать свои тесты, используяте же флаги компилятора, которые использовались для компиляции установленных библиотек gtest / gmock;в противном случае он может столкнуться с неопределенным поведением (т. е. тесты могут вести себя странно и даже не работать без видимых причин).

...