Создание библиотеки импорта для исполняемого файла в Linux

0

Я ищу способ модульного тестирования моего приложения C++, связанного с исполняемым файлом. Я использую googletest, и мне нужно связать тестовый исполняемый файл с тестируемым двоичным кодом, чтобы проверить этот двоичный файл. Бинарный тест является исполняемым в моем случае. В Windows я могу создать библиотеку импорта для тестируемого исполняемого файла и связать с ним тестовый исполняемый файл. Пока я не экспортирую основную функцию из тестируемого двоичного файла, он работает нормально. Однако в Linux я не могу этого сделать. При непосредственном связывании с тестируемым исполняемым файлом связь не работает, так как есть две основные функции: одна в тестируемом исполняемом файле и одна в тестовом исполняемом файле. И я не знаю, как создать библиотеку импорта в Linux и связать ее.

Я понимаю, что я могу разделить свой протестированный исполняемый файл в общую библиотеку со всеми функциональными возможностями и небольшим исполняемым файлом, в котором есть только основная функция. Программа тестирования будет связана с общей библиотекой. Но это то, что я бы предпочел не делать, так как у меня есть более 20 из этих исполняемых файлов, которые мне нужно протестировать и делить каждый из них в общую библиотеку, а из исполняемого файла слишком много времени.

Другая возможность - добавить тестируемый исходный код в тестовый проект, но затем исходный код будет скомпилирован дважды, что я не могу себе позволить из-за длительного времени сборки.

Поэтому я пытаюсь выяснить, можно ли сделать в Linux что-то похожее на то, что я сделал в Windows.

Заранее спасибо.

  • 2
    Не компилируйте main в разделяемую библиотеку. Какой другой ответ вы ожидаете?
Теги:
linker
shared-libraries
googletest

1 ответ

0

Я пытаюсь выяснить, можно ли сделать в Linux что-то похожее на то, что я сделал в Windows.

Нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню