Tengo una gran solución de estudio visual con ~ 50 proyectos. Hay configuraciones para StaticDebug, StaticRelease, Debug y Release. Algunas bibliotecas son necesarias tanto en dll como en forma de lib estática. Para obtenerlos, reconstruimos la solución con una configuración diferente. La ventana Configuration Manager se usa para configurar qué proyectos necesitan compilar en qué sabores, lib estático, dll dinámico o ambos.¿Cómo puedo gestionar la construcción de proyectos de biblioteca que produzcan tanto una lib estática como una dll?
Esto puede ser bastante difícil de manejar y es un poco molesto tener que construir la solución varias veces y seleccionar las configuraciones en el orden correcto. Las versiones estáticas necesitan compilación antes de las versiones no estáticas.
Me pregunto, en lugar de este esquema actual, podría ser más sencillo de administrar si, para los proyectos que necesitaba para producir una lib estática y dinc dll, creé dos proyectos. Por ejemplo:
- CoreLib
- coredll
que podía hacer cualquiera de estos dos proyectos de referencia a todos los mismos archivos y construir ellos dos veces, o yo estoy preguntando, ¿sería posible construir CoreLib y luego obtener CoreDll para vincularlo para generar el dll?
Supongo que mi pregunta es, ¿tiene algún consejo sobre cómo estructurar sus proyectos en este tipo de situación?
Gracias.
Uso el método de dos proyectos, aunque normalmente estoy haciendo versiones de 32 y 64 bits de algo, es esencialmente lo mismo. ¿Puedes hacerlo sin dos compilaciones? En VS, no lo creo. De makefiles, sí. – Tergiver
... sin embargo, es probable que tenga algunas directivas de compilación en el origen para las dos compilaciones diferentes. Por lo menos, la versión estática no necesita DllMain. – Tergiver
He proporcionado una nueva respuesta y he eliminado la anterior –