Crear una lib desde otras libs: ¿es posible?
-
06-07-2019 - |
Pregunta
Estoy usando Windows CE Platform Builder y mi código está escrito en C ++. Para cada una de las carpetas en el proyecto, estoy creando una lib (el código está vinculado estáticamente). Sin embargo, hay alrededor de 20 libs hasta ahora. ¿Hay alguna manera de reducir su número? Estaba pensando en crear una biblioteca de otras bibliotecas, pero no sé si eso es posible. ¿Lo es?
EDITAR: ¿cómo podría hacerlo?
Solución
No lo he probado en mucho tiempo, pero tradicionalmente puedes usar la herramienta bibliotecaria (LIB.EXE) para hacer este tipo de cosas.
$ 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]
Normalmente, el bibliotecario toma archivos .OBJ y los combina en un .LIB, pero creo que también leerá los archivos .LIB como entrada.
Otros consejos
como se menciona anteriormente, lib.exe realmente puede fusionar un par de archivos lib en una biblioteca, simplemente coloque los archivos lib en la línea de comandos en lugar de los archivos obj. Hace unos segundos lo probé con una fortran lib y una c lib - todo funciona perfecto