Pode utilizar comment(lib...) de #pragma para especificar opções de linker na Microsoft C++

Traduções de Artigos Traduções de Artigos
Artigo: 153901 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

O cabeçalho pragma comentário permite ao utilizador inserir comentários um ficheiro de objecto ou ficheiro executável. O especificador de lib permite ao utilizador transmitir este comentário para o linker para especificar bibliotecas adicionais para ligar quando utilizar o módulo de objecto. Alguns utilizadores utilizam o cabeçalho pragma comentário da biblioteca para adicionar opções de linker, bem como os nomes de biblioteca, tais como:
   #pragma comment(lib, "MSVCRT -VERBOSE")
				
Esta linha, em Visual C++ 2. x, passariam a cadeia para o linker tal como está, resulta da adição da /VERBOSE opção linker, bem como o MSVCRT.Biblioteca LIB. Este comportamento não foi especificado para funcionar desta forma. O compilador não iria colocar aspas à volta da cadeia de comentário, para que espaços seriam delimitem o texto.

No Visual C++ 4.x e posterior, o compilador coloca correctamente aspas à volta a cadeia de comentários, provocando o código referido gerar o seguinte erro:
LIGAÇÃO: erro fatal LNK1104: não é possível abrir o ficheiro "MSVCRT-VERBOSE.lib"

Resolução

Utilize o seguinte pragma novo para especificar opções do linker:
#pragma comment(linker, "<linker options>")
				

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Código de exemplo para reproduzir este comportamento:

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

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

void main(void)
{
}
				
Receberá a seguinte mensagem de erro:
LIGAÇÃO: erro fatal LNK1104: não é possível abrir o ficheiro "MYLIBRARY-VERBOSE.lib"

Referências

Para mais informações sobre as directivas de #pragma, consulte o seguinte Web site da MSDN:
Pragma directivas

Propriedades

Artigo: 153901 - Última revisão: 29 de outubro de 2013 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 4.0 Standard Edition
Palavras-chave: 
kbcompiler kbprb kbusage kbmt KB153901 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 153901
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

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