Al vincular una biblioteca estática con un archivo ejecutable, los símbolos sin referencia se descartan normalmente. En mi caso, algunos objetos no utilizados se utilizan para registrar sus clases respectivas en una fábrica y si los objetos se descartan, este registro falla.¿Cuál es el equivalente de Microsoft Visual Studio a la opción ld de GCC? --whole-archive
En Unix, donde utilizamos gcc, puedo pasar la bandera --whole-archive al linker ld (ver extracto de la documentación ld a continuación), que hace que ld no descarte ningún objeto. ¿Hay algo como esto para Visual C++?
--whole-archivo
Para cada archivo mencionado en la línea de comandos después de la opción
`--whole-archivo', incluyen todos los archivos objeto en el archivo
en el enlace, en lugar de buscar en el archivo el requerido
archivos de objeto. Esto se utiliza normalmente para convertir un archivo de almacenamiento en
una biblioteca compartida, obligando a todos los objetos que se incluirán en el
resultante biblioteca compartida. Esta opción puede usarse más de una vez.
Gracias por la explicación de '--whole-archive', sólo estaba buscando cuál es el escenario para usarlo. – Deqing