#Pragma comment(lib...) se puede utilizar para especificar las opciones del vinculador de Microsoft C++

Seleccione idioma Seleccione idioma
Id. de artículo: 153901 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

La directiva pragma comment permite al usuario insertar comentarios en un archivo ejecutable o un archivo objeto. El especificador de lib permite al usuario pasar este comentario del vinculador para especificar bibliotecas adicionales para vincular al utilizar el módulo de objetos. Algunos usuarios utilizan el pragma comment lib para agregar las opciones del vinculador, así como los nombres de las bibliotecas, tales como:
   #pragma comment(lib, "MSVCRT -VERBOSE")
				
Esta línea, en Visual C++ 2.x, podría pasar la cadena al vinculador tal como es, dando como resultado la adición de la /VERBOSE del vinculador, así como el archivo MSVCRT.Biblioteca de LIB. Este comportamiento no se ha especificado para trabajar de esta manera. El compilador no poner comillas en la cadena de comentario para que espacios delimitan el texto.

En Visual C++ 4.x y posterior, el compilador pone correctamente comillas en la cadena de comentario, lo que hace el código anterior generar el siguiente error:
LINK: error irrecuperable LNK1104: no se puede abrir el archivo "MSVCRT-VERBOSE.lib"

Solución

Utilice el siguiente pragma nuevo para especificar las opciones del vinculador:
#pragma comment(linker, "<linker options>")
				

Estado

Este comportamiento es por diseño.

Más información

Código de ejemplo para reproducir el comportamiento:

// Compile options needed: none
// Compile the code in Visual C++ 4.x or later
// test.c

#pragma comment(lib,"MYLIBRARY -VERBOSE")

void main(void)
{
}
				
Recibirá el siguiente mensaje de error:
LINK: error irrecuperable LNK1104: no se puede abrir el archivo "MYLIBRARY-VERBOSE.lib"

Referencias

Para obtener más información acerca de las directivas #pragma, consulte el siguiente sitio Web de MSDN:
Directivas pragma

Propiedades

Id. de artículo: 153901 - Última revisión: martes, 29 de octubre de 2013 - Versión: 5.0
La información de este artículo se refiere a:
  • Microsoft Visual C++ 4.0 Standard Edition
Palabras clave: 
kbcompiler kbprb kbusage kbmt KB153901 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 153901
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com