Google тесты в DLL

Я хочу написать модульные тесты, используя Google Test / Mock для кода в моей DLL. Тестовый код должен быть скомпилирован в мою DLL.

Я прочитал в Google Test Primer, что это возможно, но тогда gtest нужно скомпилировать в DLL (и я думаю, то же самое относится и к gmock).

Кто-нибудь скомпилировал и использовал фреймворк как DLL и может рассказать мне о наиболее важных настройках проекта (я использую VS2010) и как использовать полученные DLL для запуска тестов?

3

Решение

GoogleTest и GoogleMock не нужно компилировать в .длл.

Скорее это говорит о том, что они должны быть скомпилированы с тем же Runtime Library установка в качестве проекта, потребляющего (связывающего) их (/MD или же /MT). Настройки библиотеки времени выполнения

Последовательность является ключом! При связывании любой библиотеки (LIB или DLL) они должны иметь одинаковые Runtime Library установка в качестве проекта (или наоборот).

Параметры библиотеки времени выполнения

Я также рекомендовал бы использовать тот же Character Set установка.

3

Другие решения

Установите флаг препроцессора (свойства-> c / c ++ -> Preprocessor-> Определения препроцессора) GTEST_CREATE_SHARED_LIBRARY для сборки Gmock как dll и сборки dll, которая использует gmock с GTEST_LINKED_AS_SHARED_LIBRARY

1

По вопросам рекламы [email protected]