Как игнорировать метод main из динамически связанной библиотеки в C ++ - PullRequest
6 голосов
/ 14 марта 2012

В нашем приложении мы используем несколько динамически связанных библиотек.Недавно мы обновили версию одной из этих библиотек.Разработчики этой библиотеки предоставляют основной метод начиная с этой новой версии (ничего не делая, кроме печати Hello World).

Проблема в том, что мы используем GTest и GMock, которые генерируют свой основной метод.Когда мы теперь запускаем наш тестовый бинарный файл, мы просто получаем «Hello World», поэтому используется неправильный метод main.

Как мы можем заставить основной метод тестов использоваться?

ОБНОВЛЕНИЕ: Кажется, это проблема GMock / GTest.Обычно метод main генерируется, но это не так, поскольку он находит уже существующий метод main.

Ответы [ 2 ]

5 голосов
/ 14 марта 2012

В вашей ситуации нет пути назад. Вам придется удалить основной из общей библиотеки. Это просто не принадлежит там.

1 голос
/ 04 января 2013

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

...