/WHOLEARCHIVE (включение всех объектных файлов библиотеки)
Принудительно включите компоновщик все файлы объектов в статическую библиотеку в связанный исполняемый файл.
Синтаксис
/WHOLEARCHIVE
/WHOLEARCHIVE:library
Аргументы
библиотека
Необязательное имя пути к статической библиотеке. Компоновщик включает каждый файл объекта из этой библиотеки.
Замечания
Параметр /WHOLEARCHIVE заставляет компоновщика включать каждый файл объекта из указанной статической библиотеки или, если библиотека не указана, из всех статических библиотек, указанных в команде LINK. Чтобы указать параметр /WHOLEARCHIVE для нескольких библиотек, можно использовать несколько переключателей /WHOLEARCHIVE в командной строке компоновщика. По умолчанию компоновщик включает файлы объектов в связанные выходные данные только в том случае, если они экспортируют символы, на которые ссылаются другие файлы объектов в исполняемом файле. Параметр /WHOLEARCHIVE позволяет компоновщику обрабатывать все файлы объектов, архивированные в статической библиотеке, как если бы они были указаны отдельно в командной строке компоновщика.
Параметр /WHOLEARCHIVE можно использовать для повторного экспорта всех символов из статической библиотеки. Это позволяет убедиться, что все коды библиотеки, ресурсы и метаданные включаются при создании компонента из нескольких статических библиотек. Если вы видите предупреждение LNK4264 при создании статической библиотеки, содержащей компоненты среда выполнения Windows для экспорта, используйте параметр /WHOLEARCHIVE при связывании этой библиотеки с другим компонентом или приложением.
Параметр /WHOLEARCHIVE появился в Visual Studio 2015 с обновлением 2.
Настройка этого параметра компоновщика в Visual Studio
Откройте диалоговое окно Окна свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.
Добавьте параметр в текстовое
/WHOLEARCHIVE
поле "Дополнительные параметры ".