Можно использовать для задания параметров компоновщика в Microsoft C++ #pragma comment(lib...)

Переводы статьи Переводы статьи
Код статьи: 153901 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Директивы pragma comment позволяет пользователю вставлять комментарии в объект или исполняемый файл. Описатель lib позволяет пользователю передать в компоновщик, чтобы указать дополнительно библиотек при использовании модуля объекта этот комментарий. Некоторые пользователи используют директиву pragma комментарий lib для добавления параметров компоновщика, а также имена библиотек, таких как:
   #pragma comment(lib, "MSVCRT -VERBOSE")
				
Эта строка в группе Visual C++ 2.x, передаст строку компоновщика как, что добавление /VERBOSE параметр компоновщика, а также MSVCRT.Библиотека LIB. Это поведение не указан работать таким образом. Компилятор не поместить в кавычки строка комментария, пробелы будут разделять текст.

В Visual C++ 4.x и более поздней версии, компилятор правильно помещает в кавычки строка комментария, вызывая таким образом приведенный выше код создать следующее сообщение об ошибке:
ССЫЛКА: Неустранимая ошибка LNK1104: не удается открыть файл "MSVCRT-VERBOSE.lib"

Решение

Используйте следующие новые директивы pragma, для задания параметров компоновщика:
#pragma comment(linker, "<linker options>")
				

Статус

Данное поведение является нормальным.

Дополнительная информация

Пример кода для воспроизведения проблемы:

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

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

void main(void)
{
}
				
Появляется следующее сообщение об ошибке:
ССЫЛКА: Неустранимая ошибка LNK1104: не удается открыть файл "MYLIBRARY-VERBOSE.lib"

Ссылки

Дополнительные сведения о директивах #pragma см веб-узле MSDN:
Директивы pragma

Свойства

Код статьи: 153901 - Последний отзыв: 29 октября 2013 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C++ 4.0 Standard Edition
Ключевые слова: 
kbcompiler kbprb kbusage kbmt KB153901 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 153901
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

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