Создание библиотеки из других библиотек: возможно ли это?
-
06-07-2019 - |
Вопрос
Я использую Windows CE Platform Builder, и мой код написан на C ++. Для каждой из папок в проекте я создаю библиотеку (код статически связан). Однако на данный момент существует около 20 библиотек. Есть ли способ уменьшить их количество? Я думал о создании библиотеки из других библиотек, но я не знаю, возможно ли это вообще. Это так?
РЕДАКТИРОВАТЬ: как я могу это сделать?
Решение
Я давно не пробовал, но традиционно для этого можно использовать инструмент библиотекаря (LIB.EXE).
$ lib /? Microsoft (R) Library Manager Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. usage: LIB [options] [files] options: /DEF[:filename] /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} /EXPORT:symbol /EXTRACT:membername /INCLUDE:symbol /LIBPATH:dir /LIST[:filename] /LTCG /MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16| SH4|THUMB|X64|X86} /NAME:filename /NODEFAULTLIB[:library] /NOLOGO /OUT:filename /REMOVE:membername /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION| EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER| NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]] /VERBOSE /WX[:NO]
Обычно библиотекарь берет файлы .OBJ и объединяет их в .LIB, но я думаю, что он также будет читать файлы .LIB в качестве входных данных.
Другие советы
Как упоминалось выше, lib.exe действительно может объединить пару файлов lib в одну библиотеку, просто поместив файлы lib в командную строку вместо файлов obj. Несколько секунд назад я попробовал это с библиотекой Fortran и библиотекой C - все работает отлично