-1

У меня есть проект, который создает динамическую библиотеку, DLL будет использоваться сторонними приложениями.Создайте динамическую библиотеку для выпуска и статическую библиотеку для GTest

Но для запуска googletests Мне нужно создать статическую библиотеку, так как я могу создать оба типа файлов?

Есть ли сообщение, которое создало бы библиотеку lib и динамическую библиотеку.

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

+0

Почему вы не используете систему непрерывной интеграции, которая проходит юнит-тесты, когда вы совершаете? –

+0

Не уверен, что я следую, как это поможет, если файл представляет собой библиотеку динамической библиотеки? Мне нужно будет как-то изменить конфигурацию перед запуском тестов и потом изменить ее. –

+1

Если визуальная студия слишком сложна для настройки, вы можете попробовать использовать mingw и использовать традиционный makefile, который можно настроить, или любую другую традиционную систему сборки. Затем используйте любую CI-систему, такую ​​как jenkins, hudson, travis-ci, circle-ci и т. Д. И проверите ее с помощью 'make static test; ./test' или аналогичный. Я бы подумал, что вы можете вызывать msvc из командной строки в качестве альтернативы, но я никогда этого не делал, и я не знаю. –

ответ

0

Сложение с этой установкой для испытаний

Проект-> свойства-> Конфигурация свойства-> Общие-> Конфигурация тип-> Static Library

это для применения

Проект-> свойства-> Свойства конфигурации -> Общие -> Тип конфигурации-> Динамическая библиотека

+0

Да, конечно, но я не хочу менять настройку вручную все время. Я бы предпочел какой-то «автоматизированный» способ, иначе мне пришлось бы постоянно отключать мои тесты во время работы с сторонними приложениями, и это большая часть моего времени разработчиков. Я бы увидел только ошибку проверки, если/когда я не помню, чтобы изменить тип конфигурации. Не очень практично. –

+0

Я думаю, что это гораздо практичнее, чем использование сложных файлов make. Я уверен, что вы можете сделать пакетный скрипт, который переключит конфигурацию, но переключение этого свойства занимает очень мало времени –

0

Создайте 2 проекта. Статическая библиотека lib и DLL

Имейте их оба добавить тот же источник.

Может быть, есть специальный код для инициализации (DllMain)

Смежные вопросы