Compilar bibliotecas de importación y archivos de exportación

Para compilar una biblioteca de importación y exportar un archivo, use la sintaxis siguiente:

LIB /DEF[:deffile] [options] [objfiles] [libraries]

Cuando se especifica /DEF, LIB crea los archivos de salida a partir de las especificaciones de exportación que se pasan en el comando LIB. Hay tres métodos para especificar exportaciones, enumerados en el orden de uso recomendado:

  1. Definición __declspec(dllexport) en uno de los archivos objfileso bibliotecas

  2. Especificación de /EXPORT:name en la línea de comandos de LIB

  3. Definición de una instrucción EXPORTS en un archivo deffile

Estos son los mismos métodos que se usan para especificar exportaciones al vincular un programa de exportación. Un programa puede usar más de un método. Puede especificar partes del comando LIB (por ejemplo, varios objfiles o especificaciones /EXPORT) en un archivo de comandos en el comando LIB, como puede hacer en un comando LINK.

Las siguientes opciones se aplican a la creación de una biblioteca de importación y un archivo de exportación:

/OUT:import

Invalida el nombre de archivo de salida predeterminado para la biblioteca de importación que se va a crear. Cuando no se especifica /OUT, el nombre predeterminado es el nombre base del primer archivo de objeto o biblioteca en el comando LIB y la extensión .lib. El archivo de exportación tiene el mismo nombre base que la biblioteca de importación y la extensión .exp.

/EXPORT:entryname[=internalname][,@ordinal[, NONAME]][, DATA]

Exporta una función del programa para permitir que otros programas llamen a la función. También puede exportar datos (mediante la palabra clave DATA ). Normalmente, las exportaciones se definen en un archivo DLL.

Entryname es el nombre de la función o el elemento de datos tal como lo va a usar el programa que realiza la llamada. Opcionalmente, puede especificar internalname como función conocida en el programa de definición; de forma predeterminada, internalname es igual que entryname. El ordinal especifica un índice en la tabla de exportación en el intervalo de 1 a 65 535; Si no especifica ordinal, LIB asigna uno. La palabra clave NONAME exporta la función solo como ordinal, sin un entryname. La palabra clave DATA se usa para exportar objetos de solo datos.

/INCLUDE:symbol

Agrega el símbolo especificado a la tabla de símbolos. Esta opción es útil para forzar el uso de un objeto de biblioteca que, de lo contrario, no se incluiría.

Tenga en cuenta que si crea la biblioteca de importación en un paso preliminar, antes de crear el .dll, debe pasar el mismo conjunto de archivos de objeto al compilar el .dll, como pasó al compilar la biblioteca de importación.

Vea también

Trabajar con bibliotecas de importación y archivos de exportación