El modificador --sysroot
es útil cuando no desea que los encabezados/bibliotecas en las rutas estándar afecten su compilación.Alternativas al interruptor --syroot de gcc?
--sysroot=dir
: Utilice dir como el directorio raíz lógica para las cabeceras y bibliotecas . Por ejemplo, si el compilador normalmente buscaría encabezados en/usr/include y las librerías en/usr/lib, buscará en su lugar dir/usr/include y dir/usr/lib. [ref]
¿Puede lo mismo puede lograr mediante el uso de variables de entorno, las especificaciones de GCC de archivo o cualquier otro método que no requieren interruptores de línea de comandos?
Esta es la única solución cuando intenté realizar una compilación cruzada de AXIS2/C. Por misteriosas razones, el archivo MAKE de AXIS2/C acaba de quitar las opciones "--sysroot" que puse en las variables de entorno CFLAGS, LDFLAGS y LIBS cuando se vincula el sharedlib. También intenté desactivar la opción compartida con ./configure --disable-shared, pero el enlazador se quejará del error "símbolo duplicado" durante la fase final de enlace. – RichardLiu
@RichardLiu: si ejecuta 'util/autogen.sh' para AXIS2/C 1.6.0, crece una nueva opción de configuración' --with-sysroot = DIR'. Parece que solo pasó a libtool, sin embargo. Agregar la opción de configuración '--with-cflags-sysroot' (alrededor de 30 líneas en cada' configure.ac') parece funcionar. ¿Quieres probar ese parche? Todo el proyecto parece obsoleto, ya que falla en el primer archivo que intenta compilar ('util/src/platforms/unix/uuid_gen_unix.c') en mi máquina de desarrollo. –