Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Se puede compilar GTK estáticamente en un programa en Windows?

¿Se puede compilar GTK estáticamente en un programa en Windows?

Los Kconfigs distribuidos en cada directorio constituyen una base de datos de configuración del kernel distribuida, y cada Kconfig describe el menú de configuración del kernel relacionado con el archivo fuente en el directorio al que pertenece. Al configurar el kernel con make menuconfig (o xconfig, etc.), el menú de configuración se lee desde Kconfig y se guarda en .config (generado en el directorio de nivel superior) después de la configuración del usuario. Al compilar el kernel, el Makefile principal llamará a este .config y sabrá qué ha configurado el usuario para el kernel. La figura anterior muestra que Kconfig corresponde al menú de configuración del kernel. Si desea agregar un nuevo controlador al código fuente del kernel, puede modificar Kconfig y agregar un menú de configuración para nuestro controlador, de modo que tengamos una forma de seleccionar nuestro controlador, si desea compilar el controlador, también debe hacerlo; modifique la ubicación del controlador Makefile en el directorio. Por lo tanto, al agregar un nuevo controlador, generalmente hay dos tipos de archivos que deben modificarse (tenga en cuenta que hay más de dos tipos) * Kconfig

config symboloptions

el símbolo es un nuevo elemento de menú y las opciones son atributos y nuevos elementos de menú en la sección de opciones: 1. Definición de tipo:

Cada elemento del menú de configuración debe tener una definición de tipo, bool: tipo booleano, trieste: tipo de tres estados , triestetype, triestete trieste: incorporado, módulo, eliminar, cadena: cadena, hex: hexadecimal, entero: entero Por ejemplo, config HELLO_MODULE

bool "hola módulo de prueba" solo se puede seleccionar el tipo bool. o menú de tipo triestado sin marcar. Hay una opción para compilar como módulo del kernel en el elemento. Si elige compilar como módulo del kernel, se generará en .NET Framework. Configure una configuración CONFIG_HELLO_MODULE = m, si elige compilar, es decir, compilar directamente en el kernel, se generará en la configuración .config una configuración CONFIG_HELLO_MODULE = y, la definición de dependencia depende o requiere

Indica la apariencia de este menú ¿Depende de otra definición config HELLO_MODULE

bool "hello test module"

Depende de ARCH_PXA

El ejemplo muestra que HELLO_MODULE El elemento del menú solo está disponible para el procesador XScale, es decir, solo es visible (configurable) cuando se selecciona ARCH_PXA. Definición de ayuda

Simplemente agregue ayuda usando la palabra clave help o --help --

Para obtener más detalles sobre la sintaxis de Kconfigconfig, consulte Kconfigconfig: Segundo: Kernel Makefile El Makefile del kernel se divide en cinco partes:

Makefile de nivel superior Makefile

.config El archivo de configuración actual del kernel se convierte en parte del Makefile de nivel superior durante la compilación

arch /$ (ARCH)/.Makefile Makefiles relacionados con la arquitectura

s/ Makefile.* Algunas reglas generales para Makefiles

kbuild Makefile Hay alrededor de 500 archivos en cada directorio que compilan el código fuente. en módulos o núcleos basados ​​en definiciones de macros y otras reglas de compilación transmitidas desde el Makefile superior.

El Makefile de nivel superior compila el código fuente en módulos o núcleos basados ​​en definiciones de macros y otras reglas de compilación transmitidas desde el Makefile de nivel superior. El Makefile de nivel superior lee el contenido del archivo .config y generalmente es responsable de construir el kernel y los módulos, mientras que Arch Makefile proporciona información adicional relacionada con la arquitectura. El archivo Makefile en el directorio s contiene las definiciones y reglas necesarias para construir el kernel de acuerdo con el kbuild Makefile. (El contenido de .config es el resultado del archivo Kconfig al crear menuconfig). La descripción detallada del Makefile del kernel se puede encontrar en el directorio linux2.6.x/Documentation/kbuild. Por último, por ejemplo:

config MTD_flashtest

tristate "ap71 flash", de modo que al hacer menuconfig aparecerá la opción ap71 flash. Tercero: modifique el documento makefile en este directorio.

Agrega lo siguiente: obj-$(CONFIG_MTD_flashtest) = flashtest.o De esta manera, cuando ejecutes make menucofnig, encontrarás la opción flash ap71 si la seleccionaste. Esta selección se guardará en el archivo .config. Al compilar el kernel, leerá el archivo .config, y cuando descubra que la opción flash ap71 es sí, el sistema agregará flashtest.o al kernel al llamar al archivo MAKE en /driver/mtd/maps/. Esto logrará tus objetivos.