Me resulta extraño usar -Wl,-Bstatic
para indicar a gcc
con qué bibliotecas quiero vincular estáticamente. Después de todo, estoy diciendo gcc
directamente toda la demás información sobre el enlace con las bibliotecas (-Ldir
, -llibname
).Indicando gcc directamente para vincular una biblioteca estáticamente
¿Es posible decirle al controlador gcc directamente qué bibliotecas deben vincularse estáticamente?
Aclaración: Sé que si existe una cierta biblioteca sólo en las versiones estáticas que va a utilizarlo sin -Wl,-Bstatic
, pero quiero dar a entender gcc
preferir la biblioteca estática. También sé que la especificación directa del archivo de la biblioteca se vincularía con él, pero prefiero mantener la semántica para incluir bibliotecas estáticas y dinámicas de la misma manera.
Dios si solo Gnu hubiera hecho esto el valor predeterminado en primer lugar en lugar de la locura del prefijo lib. Oh, el tiempo y la frustración que habríamos ahorrado. – Timmmm
Radek, ¿está documentada esta opción '-l:'? ¿Qué versión de gcc necesito usar? – osgx
En realidad, es una opción de 'ld' linker https://sourceware.org/binutils/docs/ld/Options.html" * '-l namespec' .. Si namespec tiene la forma: nombre de archivo, ld buscará ruta de la biblioteca para un archivo llamado filename, de lo contrario buscará en la ruta de la biblioteca un archivo llamado libnamespec.a ... en sistemas ELF .. ld buscará en un directorio una biblioteca llamada libnamespec.so antes de buscar una llamada libnamespec. a. Tenga en cuenta que este comportamiento no se aplica a: filename, que siempre especifica un archivo llamado filename. * ". Desde binutils 2.18 - https://sourceware.org/binutils/docs-2.18/ld/Options.html – osgx