3piling Una vez que haya descargado el origen e instalado las interfaces externas deseadas, es hora de compilar el programa. Asumiremos por las siguientes instrucciones que adquirió la fuente a través de CVS y por lo tanto los archivos se encuentran en C: TEMPVim. El archivo feature. h se puede editar para que coincida con sus preferencias, aunque puede omitir esto para obtener el comportamiento predeterminado, que debería estar bien para la mayoría de las personas. También puede activar varias funciones suministrando argumentos al comando make durante la compilación. Todos los compiladores compatibles proporcionan un método de línea de comandos para compilar Vim. La fuente Vim contiene un makefile en C: TEMPVimsrc para cada compilador. Estos makefiles proporcionan opciones específicas para cada compilador, así como un conjunto común de opciones disponibles para todos los makefiles. Los archivos son Makemvc. mak y Makeivc. mak (Microsoft Visual C), Makebc5.mak (Borland C 5.x), Makeming. mak (MinGW GCC) y Makecyg. mak (Cygwin GCC). Estos archivos han sido suministrados por George V. Reilly, Ben Singer, Ken Scott y Ron Aaron y han sido bien probados. Las opciones para el compilador se pueden configurar de tres formas diferentes. 1) El más simple es editar el makefile directamente y comentar / descomentar las opciones para construir exactamente lo que quieres. El problema con este método es que los cambios se pueden perder al actualizar los archivos con parches más nuevos. 2) El segundo método consiste en definir variables de entorno para las opciones. Por ejemplo, para crear una interfaz gráfica de usuario y OLE habilitado Vim con el compilador MSVC, podría emitir los comandos: Las opciones permanecerían en vigor para las siguientes compilaciones de la misma ventana de consola. Para cambiar una configuración cambiaría la variable de entorno. 3) Por último, puede especificar las opciones en la línea de comandos en sí, como: Este método tiene la desventaja de que las opciones deben especificarse cada vez, pero la ventaja que se puede ver de un vistazo qué opciones se utilizaron para una compilación específica. Puede evitar volver a escribir todas las opciones para las compilaciones posteriores utilizando el historial de comandos de la ventana de consola o poner el comando en un script. Nota Si compila con un conjunto de opciones y decide agregar o quitar una opción, deseará hacer una limpieza para eliminar los archivos de objetos ya compilados. Si no es así, probablemente obtendrá errores al compilar o vincular el programa. Simplemente agregue limpio al final del comando que utilizó para la compilación y cualquier archivo generado durante la compilación anterior se eliminará. Asegúrese de incluir todas las mismas opciones para la limpieza como lo hizo para la compilación, de lo contrario no puede obtener todos los archivos correctos eliminados. Para limpiar después de la compilación del ejemplo 3 anterior, utilice el comando: Vim se puede compilar para sistemas Win32 usando varias versiones de Microsoft Visual C (versiones 4-7), Borland (versión 5 y 5.5) o GCC (2.95. X y 3.xx de Cygwin o MinGW32). Cada compilador tiene su propio makefile y su propio conjunto de opciones y características que proporciona además de los listados arriba. 3.2.1.MSVC El programa Microsofts Visual C es un producto comercial y no está disponible para su descarga. Tiene dos opciones al compilar Vim con MSVC: línea de comandos y IDE. 3.2.1.1mand line El método más flexible para compilar Vim desde la línea de comandos es utilizar el archivo Makemvc. mak. La ventaja de usar este makefile en lugar de Makeivc. mak es que tienes mucho mayor control sobre las opciones usadas para compilar Vim. Las opciones adicionales disponibles son: Para depurar un ejecutable construido con Makemvc. mak en el IDE de MSDev, debe usar Makedvc. mak en el IDE. De Makemvc. mak. Makemvc. mak proporciona una finura de control que no se admite en archivos de configuración de Visual C. Por lo tanto, la depuración requiere un poco de trabajo adicional. Makedvc. mak es un proyecto de Visual C para acceder a ese soporte. Para utilizar Makedvc. mak. Construir Vim con Makemvc. mak. Utilice un argumento DEBUGyes para crear Vim con soporte de depuración. P. ej. Las siguientes generaciones gvimd. exe. Utilice MS Devstudio y configúrelo para permitir que dicho archivo se depure: Pase Makedvc. mak al IDE. Utilice la entrada de menú Archivo - gt Abrir área de trabajo para cargar Makedvc. mak. Como alternativa, desde la línea de comandos: Nota. Makedvc. mak está en formato VC4.0. VC versiones posteriores ver esto y ofrecer a convertir a su propio formato. Acepta eso. Crea un archivo llamado Makedvc. dsw que puede utilizarse para operaciones adicionales. P. ej. Además, si obtuvo el archivo de los archivos tar, tendrá que convertir Makedvc. mak con una utilidad unix2dos antes de intentar abrirlo. Establezca el ejecutable construido para la depuración: Project - gt Settings (Alt - F7) lo lleva al diálogo Debug. Rellenar ejecutable para sesión de depuración. p. ej. Gvimd. exe Rellena los argumentos del programa. p. ej. - R dosinst. c Haga clic en Aceptar para cerrar el cuadro de diálogo Ahora puede depurar el ejecutable que ha creado con Makemvc. mak Nota: Makedvc. mak genera vimrun. exe. Porque debe construir algo para ser un makefile válido. 3.2.1.2.IDE Vim se puede compilar en el IDE de MSDev utilizando Makeivc. mak makefile. Desde el IDE, vaya a Archivo - gt Abrir área de trabajo y seleccione Makeivc. mak y haga clic en Aceptar. A continuación, puede seleccionar destinos como Release y / o versión de depuración de la consola Vim o GUI Vim. Nota Makeivc. mak debe estar en el formato de archivo DOS para ser abierto con éxito por el IDE de MSDev. Si obtiene su fuente de los archivos tar o CVS, tendrá que convertir el archivo a formato DOS utilizando una utilidad unix2dos. Si tiene una versión anterior de Vim instalada, entonces una alternativa a la utilidad unix2dos sería el comando También, un archivo batch unix2dos que utiliza gzip para realizar la conversión ha sido suministrado por Walter Briscoe y está disponible en vimdoc. sf. net/ Howto / win32-compile / unix2dos. bat. Para aquellos que no quieren descargar el archivo, también sugiere el comando quick-n-dirty, que es lo que hace su unix2dos. bat, menos toda la comprobación de errores. También puede utilizar Makeivc. mak para compilar desde la línea de comandos, aunque es muy limitado en los tipos de ejecutables que puede crear. Emitir el comando creará una interfaz gráfica de usuario y OLE habilitado Vim. Los otros objetivos disponibles son 3.2.3.2.Building con soporte de intérprete no dinámico Si por alguna razón usted quiere construir un ejecutable que no cargue dinámicamente los DLLs de intérprete, necesita hacer un poco de trabajo extra. Las bibliotecas compiladas por MSVC (como las de las distribuciones de ActiveState) no se enlazan bien con GCC. Debe crear manualmente una biblioteca compatible con GCC. La siguiente instrucción fue originalmente escrita por Ron Aaron ltron en mossbayenggt para el intérprete de Python, pero las mismas instrucciones se aplican también a otros intérpretes. Esto se ha probado con el compilador MinGW32 y el ActiveState ActivePython: ActiveState / Products / ActivePython / Después de instalar el ActivePython, tendrá que crear un MinGW32 libpython20.a para enlazar con: Una vez hecho esto, edite el Makeming. mak así La variable PYTHON apunta a la raíz de la instalación de Python (C: Python20, por ejemplo). Si está compilando en Linux con la configuración de MinGW32, también debe convertir todos los archivos de inclusión a terminaciones de líneas unix. Este comando bash lo hará fácilmente: Un elemento importante a mencionar aquí es que Cygwin puede compilar dos tipos diferentes de Vim que se ejecutarán bajo Windows. Un tipo es una aplicación Unix, la otra es una aplicación Win32. Las diferencias son las siguientes: La versión de Win32 se compila con el makefile Makecyg. mak, mientras que la versión de Unix utiliza el proceso ./configure make make install. La versión de Win32 compila una aplicación GUI que se ejecuta como cualquier otra aplicación nativa de Windows. La versión de Unix tiene soporte para GUI, pero requiere un servidor X (como XFree86) para compilarlo y usarlo. La versión de Win32 entiende las rutas de DOS normales, como C: Windows. La versión de Unix entiende las rutas Unix / Cygwin como / var / log o C: / Windows. Actualmente no hay manera (y no hay planes para implementar una forma) para tener una versión que se ejecuta como la versión de Unix, pero deportes un nativo Win32 GUI. Con la utilidad cygpath. exe en la distribución Cygwin y un poco de trabajo, sin embargo, puede ayudar a la versión Win32 a entender las rutas Unix / Cygwin. Busque los consejos en vim. org y los Archivos de listas de correo de Vim en groups. yahoo/group/vim para obtener información sobre cómo hacerlo. Nota Con el lanzamiento de XFree86 4.3.0, el servidor Cygwin X ofrece dos nuevas opciones, - rootless y - multiwindow. Estas opciones le permiten ejecutar programas X y tenerlos administrados por el gestor de ventanas nativo de Windows, por lo que aparecen como cualquier otra aplicación estándar de Windows. 3.2.4.2.Win32 Utilice el makefile Makecyg. mak para crear Vim con el compilador Cygwin GCC. La versión inicial de este makefile sólo soporta la construcción de una consola de vainilla Vim (o una Vim GUI de vainilla después de editar el makefile). El parche 6.1.253 añade muchas más características a este makefile. Además de los comunes mencionados anteriormente, también proporciona: 3.3.Additional Goodies Una vez que compile sus binarios, que está listo para ir. En el directorio C: TEMPvimsrc debe tener un vim. exe y / o un gvim. exe. Así como instalar. exe. Uninstal. exe. Y vimrun. exe. También hay xxd. exe en C: TEMPvimsrcxxd y gvimext. dll en C: TEMPvimsrcGvimExt. Si lo desea, puede hacer un par de pasos más para completar su instalación. La instalación de gvimext. dll agregará el conjunto de entradas de Edit with Vim al menú contextual cuando haga clic con el botón derecho en los archivos. Antes de la versión 6.2, tenía que compilar manualmente la DLL desde el directorio C: TEMPvimGvimExt. A partir de 6.2, sin embargo, el DLL se compila como parte del proceso de generación normal. Para compilarlo por sí mismo, simplemente vaya al directorio C: TEMPvimsrcGVimExt y lea el archivo README. txt para obtener instrucciones. Si utiliza Visual Studio 6, también puede estar interesado en la extensión visvim. dll, que ayudará a integrar Vim en el IDE de MSDev (versión 6). Vaya a C: TEMPvimVisVim y lea el archivo README. txt para obtener instrucciones sobre cómo compilar (sólo MSVC) e instalar la DLL. Un paso final que usted puede querer tomar es comprimir sus binarios. La utilidad UPX (disponible desde upx. sf. net comprimirá cada ejecutable a aproximadamente 50 de su tamaño original sin crear una penalización notable en el tiempo de inicio). El makefile de MinGW incluye un destino para ejecutar UPX en el binario compilado de Vim o GVim. VIM 6.2 en sistemas Win32 con uno de los compiladores compatibles: MSVC, BCC y GCC (MinGW y Cygwin) Si ya tiene una versión ejecutable de Vim que contiene las características que desea, entonces probablemente no necesite este archivo. Este documento se publica bajo la licencia Vim. Consulte vimdoc. sf. net/htmldoc/uganda. htmllicense para obtener información. Está disponible en formato HTML, PDF y texto sin formato desde vimdoc. sf. net/howto/win32-compile Índice 1. Introducción Este HOWTO es un intento de proporcionar información sobre cómo compilar Vim en sistemas Win32. Los pasos para adquirir la fuente, obtener bibliotecas externas adicionales y compilarlas todas en un Vim que se adapte a sus necesidades de edición. La información general presentada debe ser aplicable a cualquier versión 6.x de Vim, aunque pueden ser necesarios parches específicos para habilitar algunas características específicas, las cuales serán anotadas cuando este sea el caso. Esta versión del HOWTO se basa en las características disponibles con la versión 6.2 de Vim. Una suposición de este HOWTO es que los compiladores necesarios y las interfaces externas se instalan de acuerdo con la documentación de los programas respectivos. Mientras que donde obtener los programas y cualquier modificación especial necesaria para utilizarlos se anotará, la información general de instalación no. 2. Preparación Para compilar Vim, necesitas tres cosas: un compilador, el código fuente de Vim y utilidades para obtener y extraer el código fuente. Opcionalmente, es posible que deba instalar programas adicionales para habilitar ciertas interfaces en Vim (como Vims incorporado en Perl o Python). 2.1. Obtención de la fuente El código fuente de Vims está disponible a través de tres métodos diferentes: FTP, CVS y A-A-P. El método más sencillo es probablemente CVS, que requiere sólo una utilidad cliente CVS además del compilador. 2.1.1. CVS El código fuente prepatched está disponible vía CVS en cvs. vim. org. El archivo CVS es actualizado manualmente por un voluntario a medida que se liberan nuevos parches, por lo que puede quedar brevemente atrás de los parches actualmente liberados, pero usualmente no más de un día o dos. Compruebe el código usando su cliente CVS preferido, simplemente actualice su archivo local cuando aparezcan nuevos patches para que siempre pueda tener la última versión. Sólo necesitará un cliente CVS para obtener su fuente de esta manera. Puede obtener un cliente CVS de línea de comandos como parte de las herramientas Cygwin o desde el paquete msys-DTK con las herramientas MinGW. Como alternativa, puede obtener WinCVS, una aplicación GUI nativa Win32, de wincvs. org. El comando para inicializar el código es: No se requiere contraseña, así que si se le pide una, simplemente pulse enter. El código se descargará del servidor CVS y se colocará en un subdirectorio vim / de su directorio actual. La opción - z3 comprimirá los archivos durante el tránsito. Nota Si no puede acceder al sitio anterior debido a problemas de cortafuegos / proxy, puede probar el comando que intentará la descarga a través del puerto 80, que la mayoría de los firewalls permitirán, ya que es el puerto HTTP estándar. Después de la comprobación inicial, puede mantener el archivo actualizado cambiando al subdirectorio vim y emitiendo el comando: El comando de actualización desplegará todos los archivos modificados desde su última comprobación / actualización. El indicador - d hará que los nuevos directorios creados en el servidor CVS desde la última comprobación / actualización que se creará localmente también. El indicador - P eliminará los directorios que se hayan dejado vacíos por la actualización actual. Se pueden encontrar instrucciones similares en vim. org/cvs. php. Incluyendo enlaces a otras guías e información de CVS. 2.1.2. FTP Este proceso manual requiere que descargue todos los archivos, los extraiga, los corrija y los compile usted mismo. Necesita varias utilidades adicionales y tiempo. Al utilizar este método, es una buena idea crear algunos archivos de proceso por lotes para guardar un montón de volver a escribir y guiar comandos tediosos (como aplicar los parches individuales.) Vim 6.1 tenía 474 de ellos. 2.1.2.1. Fuente El código más actualizado está disponible vía ftp desde ftp. vim. org y sus espejos ftp. xx. vim. org, donde xx es reemplazado por un código de país como nosotros, ca o uk. Vea vim. org/mirrors. php para obtener una lista más completa de sitios espejo. El directorio / pub / vim / pc tiene el código fuente con formato DOS en archivos zip. Usted querrá el vim62src. zip. Vim62lang. zip y los archivos vim62rt. zip o vim62rt1.zip y vim62rt2.zip. De forma alternativa, puede obtener las tarballs formateadas por UNIX, gzip o bzip de / pub / vim / unix (vim-6.2.tar. bz2 o todos los cuatro de vim-6.2-rt1.tar. gz. Vim-6.2-rt2. Vim-6.2-src1.tar. gz y vim-6.2-src2.tar. gz) y / pub / vim / extra (vim-6.2-lang. tar. gz y vim-6.2-extra. tar. gz). Para extraer la fuente de estos archivos, necesitará varias utilidades. Para los archivos zip, necesitará un programa de descompresión. Para los archivos tar, necesitará un programa tar, un programa gunzip y quizás un programa bunzip2. Estas utilidades están disponibles con la distribución Cygwin o en el paquete MSYS de la distribución MinGW. Finalmente, puede obtener los ejecutables individuales de sitios como unxutils. sf. net o gnuwin32.sf. net. Si prefiere un programa GUI, puede obtener WinZip (que maneja zip, tar y gzip) desde winzip o 7-Zip (que maneja zip, tar, gzip y bzip2) desde 7-zip. org. Cualquiera que sea el origen de los archivos que obtenga, colóquelos juntos en el directorio C: TEMP. Estos archivos contienen el código base 6.2.0. Extraiga los archivos en el directorio actual. Si está utilizando los archivos zip, tendrá un nuevo subdirectorio vim, y la fuente se ubicará en C: TEMPvimvim62src de lo contrario, con los archivos tar, tendrá un subdirectorio vim62, y la fuente se ubicará en C: TEMPvim62src . 2.1.2.2. Parches Para obtener la versión más reciente de Vim, debe aplicar todos los parches del directorio / pub / vim / patches para la versión de Vim que está compilando. Descargue todos los archivos que empiezan por 6.2 y colóquelos en el directorio C: TEMP con los archivos de origen. Para ahorrar tiempo de descarga, cada 100 parches se combinan en un solo archivo de parche que puede obtener en lugar de los 100 parches individuales. Si están disponibles, tendrán nombres de archivo como 6.2.1-100 y 6.2.101-200. Usted todavía tendrá que obtener los parches restantes individualmente. Para referencia, el archivo README en el directorio / pub / vim / patches proporciona una breve sinopsis del error o característica que se ha solucionado en cada parche y el encabezado de cada parche proporciona una descripción más completa del error, la forma en que se corrigió el error , Y una lista de los archivos afectados por el parche. Algunos parches se dirigen a otros puertos del sistema operativo y no son necesarios por la versión de Win32. Si obtuvo su fuente de los archivos tar, esto no es un problema, porque todos los archivos de origen para todos los sistemas operativos estarán presentes y recibirán parches, incluso si no se utilizan en la compilación. Si tienes tu fuente de los archivos zip, se requiere alguna preparación adicional. Los archivos no necesarios en una compilación de Win32 no se incluyen en los archivos zip. Si intenta aplicar un parche para uno de estos archivos que faltan, obtendrá un error de archivo no encontrado que se puede ignorar con seguridad. Algunos parches, sin embargo, archivos de parches en el directorio de ejecución, que no existe en los archivos zip. También obtendrá errores de archivo no encontrado para estos archivos, pero en lugar de ignorarlo, deberá especificar la ruta del archivo. Afortunadamente, esto es tan fácil como especificar el camino que acaba de probar, pero dejando fuera el tiempo de ejecución / parte. Si desea evitar volver a escribir muchas cosas, puede editar manualmente los archivos de revisión y quitar el tiempo de ejecución / de la ruta. Por ejemplo, si tiene una versión anterior de Vim ya instalada, podría hacerlo: para abrir todos los archivos de revisión en Vim y realizar un bucle a través de cada uno, eliminando el tiempo de ejecución / la ruta de la especificación de archivo que se va a parchear. Necesitará el programa de parches para aplicar los parches. A continuación, simplemente cambie al directorio vim62 (del cual src y runtime son subdirectorios) y emita el comando 2.1.3. A-A-P La nueva forma de obtener la última fuente es con el proyecto A-A-P creado por el autor de Vims, Bram Moolenaar. El proyecto se encuentra actualmente en fase alpha, por lo que se aplican todas las advertencias habituales. Instale los archivos necesarios siguiendo las instrucciones en a-a-pc/download. html. Supondremos que el programa está instalado en C: Exec. Puesto que es una aplicación de Python, también necesitará una distribución de Python que funcione (2.2.x recomendado). El programa funciona actualmente bien con Cygwins Python, y funcionará bien con ActiveStates Python si usa A-A-P versión 0.138 o superior. Una vez que tenga una instalación A-A-P operativa, descargue la receta de Vim desde a-a-p. org/vim/main. aap y colóquela en el directorio donde desee construir Vim. Desde una línea de comandos en ese directorio ejecute el programa aap con el comando Por defecto, esto extraerá el origen de CVS. Ejecutar el programa con el comando descargará automáticamente todos los archivos de origen y parches del sitio FTP, expandirá el origen y aplicará los parches. A medida que se liberan nuevos parches, puede volver a ejecutar el comando para actualizar sus fuentes del archivo CVS o descargarlos y aplicarlos desde FTP. Sólo los archivos nuevos y modificados se recuperarán en las actualizaciones posteriores. Puede encontrar más instrucciones en aap. org/ports. html Tenga en cuenta que ejecutar aap sin argumentos descargará y compilará las fuentes, pero actualmente utiliza la configuración de Unix y Makefile, que no funcionará para la construcción de una aplicación Win32, por lo que sólo Desea utilizar aap con la opción de búsqueda por ahora. 2.2. Interfaces externas Vim puede interactuar con varias bibliotecas externas para ampliar su funcionalidad de edición. Por ejemplo, el soporte de Perl y Python puede usarse para mejorar las capacidades de scripting de Vims. Las bibliotecas Iconv y Gettext se pueden utilizar para mejorar el soporte multilingüe. Para utilizar estas características, el soporte para ellas debe estar habilitado en tiempo de compilación. Además, los encabezados y bibliotecas apropiados deben estar disponibles. Las distribuciones binarias auto-instalables están disponibles para casi todas las bibliotecas que Vim puede usar, e instalarlas también instalará los archivos de desarrollo necesarios que Vim requiere. A continuación se muestra una lista de las bibliotecas externas que Vim puede utilizar, dónde obtenerlas y qué características adicionales proporcionan. No se trata de cómo utilizar las funciones adicionales de ayuda en ese tema se puede encontrar en los archivos de ayuda de Vims. 2.2.1. Interfaces de secuencias de comandos 2.2.1.1. Perl Vim puede trabajar con Perl versiones 5.004 a 5.8. Puede descargar una distribución binaria de la última versión de Perl de activestate / activeperl e instalarla en su sistema. Con un Vim habilitado para Perl, puede utilizar los comandos: perl y: perldo para ejecutar las funciones Perl. Lea: help perl y especialmente: help perl-using para una descripción de la interfaz de Vims con Perl. 2.2.1.2. Python Vim puede trabajar con Python 1.5 a 2.2.2. Puede descargar una distribución binaria de la última versión de Python de activestate / activepython e instalarla en su sistema. Con un Vim habilitado para Python, puede utilizar los comandos: python y: pyfile para ejecutar funciones Python. Lea: help python y sobre todo: help python-vim para una descripción de interfaz Vims con Python. 2.2.1.3. Ruby Vim puede trabajar con Ruby 1.6.x. Puede descargar una distribución binaria de la última versión de Ruby de rubyinstaller. sourceforge. net e instalarla en su sistema. Con un Vim habilitado para Ruby, puedes usar: ruby. Rubyfile y: rubydo comandos para ejecutar funciones Ruby. Lea: help ruby y especialmente: help ruby-vim para una descripción de Vims interfaz con Ruby. 2.2.1.4. Tcl Vim puede trabajar con Tcl 8.x. Puede descargar una distribución binaria de la última versión de Tcl de activestate / activetcl e instalarla en su sistema. Con un Vim habilitado para Tcl, puede usar: tcl. Tclfile y: comandos tcldo para ejecutar funciones Tcl. Lea: help tcl y especialmente: help tcl-commands para una descripción de la interfaz de Vims con Tcl. 2.2.2. Soporte multilingüe Vim también puede utilizar bibliotecas para mejorar su compatibilidad con codificaciones de caracteres y diferentes lenguajes. Técnicamente, no necesitas que estén preinstalados para compilar Vim, pero deben estar presentes en tu PATH o en tu directorio de instalación vim para habilitar sus características en Vim. 2.2.2.1. IConv La biblioteca iconv permite a Vim traducir cadenas (a través de la función iconv ()) de una codificación a otra. Vim soporta de forma nativa la traducción entre UTF-8 y latin1, y entre todas las páginas de código de Windows, pero la traducción a cualquier otra codificación requerirá que el soporte para la biblioteca iconv se compile en Vim. Puede obtener una copia de la biblioteca iconv para Win32 desde sourceforge. net/projects/gettext Consulte: help iconv () para obtener más información. 2.2.2.2. Gettext La configuración regional y multilingüe se pueden habilitar en Vim con la biblioteca gettext. Con gettext, los mensajes y menús aparecerán en el idioma especificado por la configuración regional de usuarios. Puede obtener una copia de la biblioteca gettext para Win32 desde sourceforge. net/projects/gettext Consulte: help multilang para obtener más información. Nota Si ya ha instalado Vim con el instalador autoextraíble de ftp://ftp. vim. org/pub/vim/pc/gvim62.exe, entonces ya tiene libintl. dll en su directorio de instalación de vimvim62 y no necesita Vuelva a descargarlo. Vim se puede compilar para sistemas Win32 utilizando varias versiones de Microsoft Visual C (versiones 4-7), Borland (versión 5 y 5.5) o GCC (2.95.xy 3.x. x de Cygwin o MinGW32). Cada compilador tiene su propio makefile y su propio conjunto de opciones y características que proporciona además de los listados arriba. 3.2.1. MSVC Microsofts Visual C es un producto comercial que no está disponible para su descarga. Tiene dos opciones al compilar Vim con MSVC: línea de comandos y IDE. 3.2.1.1. Línea de comandos El método más flexible para compilar Vim desde la línea de comandos es utilizar el archivo Makemvc. mak. La ventaja de usar este makefile en lugar de Makeivc. mak es que tienes mucho mayor control sobre las opciones usadas para compilar Vim. Las opciones adicionales disponibles son: Para depurar un ejecutable construido con Makemvc. mak en el IDE de MSDev, debe usar Makedvc. mak en el IDE. De Makemvc. mak. Makemvc. mak proporciona una finura de control que no se admite en archivos de configuración de Visual C. Por lo tanto, la depuración requiere un poco de trabajo adicional. Makedvc. mak es un proyecto de Visual C para acceder a ese soporte. Para utilizar Makedvc. mak. Construir Vim con Makemvc. mak. Utilice un argumento DEBUGyes para crear Vim con soporte de depuración. P. ej. Las siguientes generaciones gvimd. exe. Utilice MS Devstudio y configúrelo para permitir que dicho archivo se depure: Pase Makedvc. mak al IDE. Utilice la entrada de menú Archivo - gt Abrir espacio de trabajo para cargar Makedvc. mak. Como alternativa, desde la línea de comandos: Nota. Makedvc. mak está en formato VC4.0. VC versiones posteriores ver esto y ofrecer a convertir a su propio formato. Acepta eso. Crea un archivo llamado Makedvc. dsw que puede utilizarse para operaciones adicionales. P. ej. Además, si obtuvo el archivo de los archivos tar, tendrá que convertir Makedvc. mak con una utilidad unix2dos antes de intentar abrirlo. Establezca el ejecutable construido para la depuración: Project - gt Settings (Alt - F7) lo lleva al diálogo Debug. Rellenar ejecutable para sesión de depuración. p. ej. Gvimd. exe Rellena los argumentos del programa. p. ej. - R dosinst. c Haga clic en Aceptar para cerrar el cuadro de diálogo Ahora puede depurar el ejecutable que ha creado con Makemvc. mak Nota: Makedvc. mak genera vimrun. exe. Porque debe construir algo para ser un makefile válido. 3.2.1.2. IDE Vim se puede compilar en el IDE de MSDev utilizando Makeivc. mak makefile. Desde el IDE, vaya a Archivo - gt Abrir área de trabajo y seleccione Makeivc. mak y haga clic en Aceptar. A continuación, puede seleccionar destinos como Release y / o versión de depuración de la consola Vim o GUI Vim. Nota Makeivc. mak debe estar en el formato de archivo DOS para ser abierto con éxito por el IDE de MSDev. Si obtiene su fuente de los archivos tar o CVS, tendrá que convertir el archivo a formato DOS utilizando una utilidad unix2dos. Si tiene una versión anterior de Vim instalada, entonces una alternativa a la utilidad unix2dos sería el comando También, un archivo batch unix2dos que utiliza gzip para realizar la conversión ha sido suministrado por Walter Briscoe y está disponible en vimdoc. sf. net/ Howto / win32-compile / unix2dos. bat. Para aquellos que no quieren descargar el archivo, también sugiere el comando quick-n-dirty, que es lo que hace su unix2dos. bat, menos toda la comprobación de errores. También puede utilizar Makeivc. mak para compilar desde la línea de comandos, aunque es muy limitado en los tipos de ejecutables que puede crear. Emitir el comando creará una interfaz gráfica de usuario y OLE habilitado Vim. Los otros objetivos disponibles son 3.2.3.2. Creación con soporte de intérprete no dinámico Si por alguna razón desea crear un archivo ejecutable que no cargue dinámicamente los DLL de intérprete, debe realizar un poco de trabajo adicional. Las bibliotecas compiladas por MSVC (como las de las distribuciones de ActiveState) no se enlazan bien con GCC. Debe crear manualmente una biblioteca compatible con GCC. La siguiente instrucción fue originalmente escrita por Ron Aaron ltron en mossbayenggt para el intérprete de Python, pero las mismas instrucciones se aplican también a otros intérpretes. Esto se ha probado con el compilador MinGW32, y ActiveState ActivePython: ActiveState / Products / ActivePython / Después de instalar el ActivePython, tendrá que crear un MinGW32 libpython20.a para vincular con: Una vez hecho esto, edite el Makeming. mak así La variable PYTHON apunta a la raíz de la instalación de Python (C: Python20, por ejemplo). Si está compilando en Linux con la configuración de MinGW32, también debe convertir todos los archivos de inclusión a terminaciones de líneas unix. Este comando bash lo hará fácilmente: Un elemento importante a mencionar aquí es que Cygwin puede compilar dos tipos diferentes de Vim que se ejecutarán bajo Windows. Un tipo es una aplicación Unix, el otro es una aplicación Win32. Las diferencias son las siguientes: La versión de Win32 se compila con el makefile Makecyg. mak, mientras que la versión de Unix utiliza el proceso ./configure make make install. La versión de Win32 compila una aplicación GUI que se ejecuta como cualquier otra aplicación nativa de Windows. La versión de Unix tiene soporte para GUI, pero requiere un servidor X (como XFree86) para compilarlo y usarlo. La versión de Win32 entiende las rutas de DOS normales, como C: Windows. La versión de Unix entiende las rutas Unix / Cygwin como / var / log o C: / Windows. Actualmente no hay manera (y no hay planes para implementar una forma) para tener una versión que se ejecuta como la versión de Unix, pero deportes un nativo Win32 GUI. Con la utilidad cygpath. exe en la distribución Cygwin y un poco de trabajo, sin embargo, puede ayudar a la versión Win32 a entender las rutas Unix / Cygwin. Busque los consejos en vim. org y los Archivos de listas de correo de Vim en groups. yahoo/group/vim para obtener información sobre cómo hacerlo. Nota Con el lanzamiento de XFree86 4.3.0, el servidor Cygwin X ofrece dos nuevas opciones, - rootless y - multiwindow. Estas opciones le permiten ejecutar programas X y tenerlos administrados por el gestor de ventanas nativo de Windows, por lo que aparecen como cualquier otra aplicación estándar de Windows. 3.2.4.2. Win32 Utilice el makefile Makecyg. mak para crear Vim con el compilador Cygwin GCC. La versión inicial de este makefile sólo soporta la creación de una consola de vainilla Vim (o un Vim GUI de vainilla después de editar el makefile). El parche 6.1.253 añade muchas más características a este makefile. Además de los comunes enumerados arriba, también proporciona: 3.3. Adicional Goodies Una vez que compile sus binarios, usted está listo para ir. En el directorio C: TEMPvimsrc debe tener un vim. exe y / o un gvim. exe. Así como instalar. exe. Uninstal. exe. Y vimrun. exe. También hay xxd. exe en C: TEMPvimsrcxxd y gvimext. dll en C: TEMPvimsrcGvimExt. Si lo desea, puede hacer un par de pasos más para completar su instalación. La instalación de gvimext. dll agregará el conjunto de entradas de Edit with Vim al menú contextual cuando haga clic con el botón derecho en los archivos. Antes de la versión 6.2, tenía que compilar manualmente la DLL desde el directorio C: TEMPvimGvimExt. A partir de 6.2, sin embargo, el DLL se compila como parte del proceso de generación normal. Para compilarlo por sí mismo, simplemente vaya al directorio C: TEMPvimsrcGVimExt y lea el archivo README. txt para obtener instrucciones. Si utiliza Visual Studio 6, también puede estar interesado en la extensión visvim. dll, que ayudará a integrar Vim en el IDE de MSDev (versión 6). Vaya a C: TEMPvimVisVim y lea el archivo README. txt para obtener instrucciones sobre cómo compilar (sólo MSVC) e instalar la DLL. Un paso final que usted puede querer tomar es comprimir sus binarios. La utilidad UPX (disponible desde upx. sf. net comprimirá cada ejecutable a aproximadamente 50 de su tamaño original sin crear una penalización notable en el tiempo de inicio). El makefile de MinGW incluye un destino para ejecutar UPX en el binario compilado de Vim o GVim. Otros, puede comprimir todos los archivos ejecutables con el comando Advertencia: Asegúrese de usar el make. exe correcto Microsoft C no funciona Borland hace sólo funciona con Makebc3.mak Makebc5.mak y Maketcc. mak DJGPP / GNU make must be used for Makedjg. mak . The Borland C compiler has been used to generate the MS-DOS executable it should work without problems. You will probably have to change the paths for LIBPATH and INCLUDEPATH in the start of the makefile. You will get two warnings which can be ignored (one about chmod and one about precompiled header files). The spawno library by Ralf Brown was used in order to free memory when Vim starts a shell or other external command. Only about 200 bytes are taken from conventional memory. When recompiling get the spawno library from Simtel, directory msdos/c . It is called something like spwno413.zip . Or follow the instructions in the Makefile to remove the library. The Turbo C makefile has not been tested much lately. It is included for those that dont have C. You may need to make a few changes to get it to work. DJGPP needs to be installed properly to compile Vim you need a lot of things before it works. When your setup is OK, Vim should compile with just one warning (about an argument to signal()). Makebc5.mak is for those that have Borland C 5.0 or later. At the top of the file, there are some variables you can change to make either a 32-bit Windows exe (GUI or console mode), or a 16-bit MS-DOS version. If you get all kinds of strange error messages when compiling, try adding ltCRgt characters at the end of each line. 5.2. Windows 3.1x 16 bit, Borland C 5.0 Warning: Be sure to use the right make. exe. It should be Borland make. Also, the vim16.def file must be in the DOS file format. If you get your sources from CVS or the UNIX tar archives, you will need to convert this file with unix2dos. You will almost certainly have to change the paths for libs and include files in the makefile. Look for D:BC5 and ctl3dv2 . You will get a number of warnings which can be ignored ( chmod, precompiled header files, and possibly incorrect assignment). The makefile should also work for BC 4.0 and 4.5, but may need tweaking to remove unsupported compiler amp linker options. 5.3. Windows NT with OpenNT (contributed by Michael A. Benzinger) Building Vim on OpenNT 2.0 on Windows NT 4.0, with Softways prerelease gcc: Prepare configure to run the OpenNT shell. How to identiy which options were used for the quotschemaoptionquot parameter in merge replication When an article is first added to an existing merge publication in SQL Server 2008 some options for the initial snapshot have to be specified (options such as: do we replicate constraints do we replicate defaults etc). Estas opciones se establecen en el procedimiento spaddmergearticle stored, parameter schemaoption (msdn. microsoft/en-us/library/ms174329.aspx) El valor del parámetro 8220schemaoption8221 es un OR bit a bit de uno o más valores (cada valor se describe en el artículo encima). El procedimiento sphelpmergearticle almacenado (msdn. microsoft/en-us/library/ms174278.aspx) muestra el valor final de 8220schemaoption8221. Con el fin de determinar cuáles eran las opciones que se utilizan para generar este valor, podemos utilizar la siguiente secuencia de comandos: 8212821282128211SCRIPT EXEMPLE82128212821282128212 82128211Merge replicación DECLARE binaria SchemaOption (8) DECLARE binaria intermedia (8) DECLARE VARCHAR OptionsInText (8000) SET OptionsInText 8216 Opciones de esquema de 8216 SET OptionsInText OptionsInText char (13) 821682128212821282128212821282128212821282128212821282128216 821282128212821282128212821282128212- 8211Seleccione el valor de schemaoption que desee descifrar aquí SET schemaoption 0x00 8211Replace el valor aquí. 8212821282128212821282128212821282128212 SET NOCOUNT ON elenco de mediano plazo establecido (molde (schemaoption como BIGINT) amplificador 0x00 como binarios (8)) SI intermedia carbón 0x00 SET optionsinText optionsinText (13) 82160x00 8211 Desactiva scripting por el Agente de instantáneas y utiliza la secuencia de creación previa esquema siempre que se define en creationscript .8217 SET intermediario (cast (schemaoption como bigint) amp 0x01 como binario (8)) IF intermedio 0x0000000000000001 SET optionsinText optionsinText char (13) 82160x01 8211 Genera la creación del objeto (CREATE TABLE, CREATE PROCEDURE, etc.). Este es el valor predeterminado para los artículos de procedimiento almacenado.8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x10 como binario (8)) IF intermedio 0x0000000000000010 SET optionsinText optionsinText char (13) 82160x10 8211 Genera un índice agrupado correspondiente. Incluso si esta opción no está establecida, los índices relacionados con claves primarias y restricciones UNIQUE se generan si ya están definidos en una tabla publicada 8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x20 como binario (8)) IF intermedio 0x0000000000000020 SET optionsinText OptionsinText char (13) 82160x20 8211 Convierte tipos de datos definidos por el usuario (UDT) a tipos de datos de base en el suscriptor. Esta opción no se puede utilizar si hay una restricción CHECK o DEFAULT en una columna UDT, si una columna UDT forma parte de la clave primaria o si una columna calculada hace referencia a una columna UDT. 8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x40 Como binario (8)) IF intermedio 0x0000000000000040 SET optionsinText optionsinText char (13) 82160x40 8211 Genera índices no agrupados correspondientes. Incluso si esta opción no está establecida, los índices relacionados con claves primarias y restricciones UNIQUE se generan si ya están definidos en una tabla publicada 8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x80 como binario (8)) IF intermedio 0x0000000000000080 SET optionsinText OptionsinText char (13) 82160x80 8211 Replica las restricciones PRIMARY KEY. Los índices relacionados con la restricción también se replican, incluso si las opciones 0x10 y 0x40 no están habilitadas8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x100 como binario (8)) IF intermedio 0x0000000000000100 SET optionsinText optionsinText char (13) 82160x100 8211 Replicates (8)) IF intermedio 0x0000000000000200 SET optionsinText optionsinText char (13) 82160x200 8211 Replica las restricciones FOREIGN KEY. Si la tabla referenciada no forma parte de una publicación, no se replicarán todas las restricciones FOREIGN KEY en una tabla publicada. 8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x400 como binario (8)) IF intermedio 0x0000000000000400 SET optionsinText optionsinText char (13) 82160x400 8211 replica COMPROBAR constraints8217 SET molde intermedio (fundido (schemaoption como BIGINT) 0x800 amp como binarios (8)) SI 0x0000000000000800 intermedia SET optionsinText optionsinText char (13) 82160x800 8211 replicados defaults8217 SET molde intermedio (fundido (schemaoption como BIGINT) amp 0x1000 como binario (8)) SI 0x0000000000001000 intermedia SET optionsinText optionsinText char (13) 82160x1000 8211 replicados a nivel de la columna collation8217 SET molde intermedio (fundido (schemaoption como BIGINT) amp 0x2000 como binarios (8)) SI 0x0000000000002000 intermedia SET optionsinText optionsinText char (13) 82160x2000 8211 Replica propiedades extendidas asociadas con el artículo publicado objeto source8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x4000 como binario (8)) IF intermedio 0x0000000000004000 SET optionsinText optionsinText char (13) 82160x4000 8211 Replica restricciones UNIQUE. Los índices relacionados con la restricción también se replican, incluso si las opciones 0x10 y 0x40 no están habilitadas8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x8000 como binario (8)) IF intermedio 0x0000000000008000 SET optionsinText optionsinText char (13) 82160x8000 8211 This No es válida para SQL Server 2005 Publishers8217 SET intermediario cast (esquema (big) de esquema 0x10000 como binario (8)) IF intermedio 0x0000000000010000 SET optionsinText optionsinText char (13) 82160x10000 8211 Replica las restricciones CHECK como NOT FOR REPLICATION para que las restricciones (8)) IF intermedio 0x0000000000020000 SET optionsinText optionsinText char (13) 82160x20000 8211 Replica las restricciones FOREIGN KEY como NOT FOR REPLICATION para que no se impongan las restricciones en la sincronización 8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x20000 como binario Durante la sincronización8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x40000 como binario (8)) IF intermedio 0x0000000000040000 SET optionsinText optionsinText char (13) 82160x40000 8211 Replica grupos de archivos asociados a una tabla o índice particionado8217 SET intermediario cast (cast (schemaoption como bigint ) Amp 0x80000 como binario (8)) IF intermedio 0x0000000000080000 SET optionsinText optionsinText char (13) 82160x80000 8211 Replica el esquema de partición para una tabla particionada8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x100000 como binario (8)) IF intermedio 0x0000000000100000 juego de caracteres optionsinText optionsinText (13) 82160x100000 8211 replica el esquema de partición para un particionado index8217 SET molde intermedio (fundido (schemaoption como BIGINT) amp 0x200000 como binarios (8)) SI 0x0000000000200000 intermedia SET optionsinText optionsinText char (13) 82160x200000 8211 replicados mesa statistics8217 SET intermitente (cast (schemaoption como bigint) amp 0x400000 como binario (8)) IF intermedio 0x0000000000400000 SET optionsinText optionsinText char (13) 82160x400000 8211 Replicates default Bindings8217 SET intermedio cast (cast (schemaoption como bigint) amp 0x800000 como binario (8) ) SI 0x0000000000800000 intermedia SET optionsinText optionsinText char (13) 82160x800000 8211 replica la regla Bindings8217 SET molde intermedio (fundido (schemaoption como BIGINT) amp 0x1000000 como binarios (8)) SI 0x0000000001000000 intermedia SET optionsinText optionsinText char (13) 82160x1000000 8211 Replica la completa Text index8217 SET intermediario (cast (schemaoption como bigint) amp 0x2000000 como binario (8)) IF intermedio 0x0000000002000000 SET optionsinText optionsinText char (13) 82160x2000000 8211 Las colecciones de esquema XML enlazadas a columnas xml no se replican8217 SET intermedio cast (cast (schemaoption as bigint) amp 0x4000000 como binarios (8)) SI 0x0000000004000000 intermedia SET optionsinText optionsinText char (13) 82160x4000000 8211 Replica índices en columns8217 xml elenco de mediano plazo establecido (molde (schemaoption como BIGINT) amp 0x8000000 como binarios (8)) SI 0x0000000008000000 intermedia optionsinText SET optionsinText char (13) 82160x8000000 8211 crea cualquiera esquemas que no estén presentes en la subscriber8217 SET molde intermedio (fundido (schemaoption como BIGINT) amp 0x10000000 como binarios (8)) SI 0x0000000010000000 intermedia SET optionsinText optionsinText char (13) 82160x10000000 8211 columnas XML se convierte en (13) 82160x20000000 8211 Convierte los tipos de datos de objetos grandes introducidos en SQL Server 2005 a tipos de datos admitidos en versiones anteriores Versiones de Microsoft SQL Server8217 SET intermedio cast (emitir (schemaoption como bigint) amp 0x40000000 como binario (8)) IF intermedio 0x0000000040000000 SET optionsinText optionsinText char (13) 82160x40000000 8211 Replicates permissions8217 SET intermedio cast (cast (schemaoption como bigint) amplificador 0x80000000 como Binario (8)) IF intermedio 0x0000000080000000 SET optionsinText optionsinText char (13) 82160x80000000 8211 Intenta eliminar dependencias de objetos que no forman parte de la publicación8217 SET intermediario cast (cast (schemaoption como bigint) amp 0x100000000 como binario (8)) IF Intermedio 0x0000000100000000 SET optionsinText optionsinText char (13) 82160x100000000 8211 Utilice esta opción para replicar el atributo FILESTREAM si se especifica en columnas varbinary (max). No especifique esta opción si está replicando tablas a los suscriptores de SQL Server 2005. Replicar tablas que tienen columnas FILESTREAM a suscriptores de SQL Server 2000 no se admite, independientemente de cómo se establece esta opción de esquema. Consulte la opción relacionada 0x800000000.8217 SET intermedio cast (emitir (schemaoption como bigint) amp 0x200000000 como binario (8)) IF intermedio 0x0000000200000000 SET optionsinText optionsinText char (13) 82160x200000000 8211 Convierte los tipos de datos de fecha y hora (fecha, hora, datetimeoffset y Datetime2) introducido en SQL Server 2008 a tipos de datos compatibles con versiones anteriores de SQL Server. Para obtener información acerca de cómo se asignan estos tipos, consulte la sección 8220Mapping de nuevos tipos de datos para versiones anteriores8221 en Uso de varias versiones de SQL Server en una topología de replicación.8217 SET intermediario (emitir (schemaoption como bigint) amp 0x400000000 como binario (8)) IF intermedio 0x0000000400000000 SET optionsinText optionsinText char (13) 82160x400000000 8211 Replica la opción de compresión de datos e índices. Para obtener más información, vea Crear tablas comprimidas e índices.8217 SET intermedio cast (cast (schemaoption como bigint) amp 0x800000000 como binario (8)) IF intermedio 0x0000000800000000 SET optionsinText optionsinText char (13) 82160x800000000 8211 Establezca esta opción para almacenar datos FILESTREAM en Su propio grupo de archivos en el suscriptor. Si no se establece esta opción, los datos FILESTREAM se almacenan en el grupo de archivos predeterminado. La replicación no crea grupos de archivos por lo tanto, si establece esta opción, debe crear el grupo de archivos antes de aplicar la instantánea en el suscriptor. Para obtener más información acerca de cómo crear objetos antes de aplicar la instantánea, consulte Ejecutar secuencias de comandos antes y después de aplicar la instantánea. Consulte la opción relacionada 0x100000000.8217 SET intermedio cast (esquema (big) 0x1000000000 como binario (8)) IF intermedio 0x0000001000000000 SET optionsinText optionsinText char (13) 82160x1000000000 8211 Convierte los tipos definidos por el usuario (CLD) A varbinary (max) para que las columnas de tipo UDT puedan replicarse a los suscriptores que ejecutan SQL Server 2005.8217 SET intermedio cast (cast (schemaoption como bigint) amp 0x2000000000 como binario (8)) IF intermedio 0x00000002000000000 SET optionsinText optionsinText char (13) 82160x2000000000 8211 Convierte el tipo de datos hierarchyid a varbinary (max) para que las columnas de tipo hierarchyid puedan replicarse a los suscriptores que ejecutan SQL Server 2005. Para obtener más información acerca de cómo utilizar columnas hierarchyid en tablas replicadas, vea hierarchyid (Transact-SQL) .8217 SET intermediario (cast (schemaoption como bigint) amp 0x4000000000 como binario (8)) IF intermedio 0x0000004000000000 SET optionsinText optionsinText char (13) 82160x4000000000 8211 Replica los índices filtrados de la tabla. For more information about filtered indexes, see Filtered Index Design Guidelines.8217 SET intermediate cast(cast(schemaoption as bigint) amp 0x8000000000 as binary(8)) IF intermediate 0x0000008000000000 SET optionsinText optionsinText char(13) 82160x8000000000 8211 Converts the geography and geometry data types to varbinary(max) so that columns of these types can be replicated to Subscribers that are running SQL Server 2005. 8216 SET intermediate cast(cast(schemaoption as bigint) amp 0x10000000000 as binary(8)) IF intermediate 0x0000010000000000 SET optionsinText optionsinText char(13) 82160x10000000000 8211 Replicates indexes on columns of type geography and geometry8217 print optionsinText 8212-END OF SCRIPT EXEMPLE8212821282128212 Please be advised that the code example above is just an example and it is provided 8220as is8221, with no warranties.
No comments:
Post a Comment