Как игнорировать основной метод из динамической связанной библиотеки в C ++
-
13-12-2019 - |
Вопрос
В нашем приложении мы используем несколько динамически связанных библиотек.Недавно мы обновили версию одного из этих библиотек.Разработчики этой библиотеки обеспечивают основной метод с момента этой новой версии (ничего не делая более чем печатать Hello World).
Проблема в том, что мы используем GTEST и GMOCK, которые генерируют свой основной метод.Когда мы сейчас проводим наш тестовый двоич, мы просто получаем «Hello World», поэтому принимается неправильный метод.
Как мы можем заставить основной метод тестов, которые будут использоваться?
<Сильное> Обновление: Это кажется проблемой GMock / Gtest.Основной метод обычно генерируется, но это не так, как он находит уже существующий основной метод.
Решение
Нет путей в вашей ситуации.Вам придется удалить главную от общей библиотеки.Это просто не принадлежит там.
Другие советы
У меня была подобная проблема с двумя библиотеками, имеющими основные методы, которые были решены путем изменения порядка библиотек к линкеру.