Страницы свойств компоновщика
Следующие свойства находятся в компоновщике свойств>>конфигурации проекта.> Дополнительные сведения о компоновщике см. в разделе CL Вызов параметров компоновщика и компоновщика.
Страница свойств "Общие"
Выходной файл
Параметр /OUT
переопределяет имя и расположение программы по умолчанию, которую создает компоновщик.
Отображать ход выполнения
Печать сообщений о ходе выполнения компоновщика
Варианты
- Не задано — нет детализации.
- Отображение всех сообщений о ходе выполнения — отображает все сообщения о ходе выполнения.
- При поиске библиотек отображаются сообщения о ходе выполнения, указывающие только те библиотеки, на которые выполняется поиск.
- О свертке COMDAT во время оптимизированной компоновки — отображает сведения о свертывания COMDAT во время оптимизированной компоновки.
- Сведения об удалении данных во время оптимизированной компоновки — отображает сведения о функциях и данных, удаленных во время оптимизированной компоновки.
- Сведения о модулях, несовместимых с SEH . Отображает сведения о модулях, несовместимых с безопасной обработкой исключений.
- Сведения о действии компоновщика, связанном с управляемым кодом . Отображение сведений об активности компоновщика, связанной с управляемым кодом.
Версия
Параметр /VERSION
указывает компоновщику поместить номер версии в заголовок .exe
или .dll
файл. Используется DUMPBIN /HEADERS
для просмотра поля OPTIONAL HEADER VALUES
версии образа для просмотра эффекта /VERSION
.
Включить инкрементную компоновку
Включает добавочную компоновку. (/INCREMENTAL, /INCREMENTAL:NO
)
Отключить загрузочное объявление
Параметр /NOLOGO
запрещает отображение сообщения об авторских правах и номера версии.
Пропустить библиотеку импорта
Это свойство сообщает компоновщику не связывать выходные .lib
данные, созданные из этой сборки, в любой зависимый проект. Она позволяет системе проекта обрабатывать .dll
файлы, которые не создают .lib
файл при создании. Если проект зависит от другого проекта, создающего библиотеку DLL, система проекта автоматически связывает .lib
файл, созданный этим дочерним проектом. Это свойство может быть ненужным в проектах, которые создают библиотеки DLL com или библиотеки DLL только для ресурсов, так как эти библиотеки DLL не имеют значимых экспортов. Если библиотека DLL не экспортирует, компоновщик не создает .lib
файл. Если файл экспорта .lib
отсутствует, и система проекта сообщает компоновщику связаться с отсутствующей библиотекой DLL, ссылка завершается ошибкой. Для устранения этой проблемы используйте свойство Пропустить библиотеку импорта. Если задано значение "Да", система проекта игнорирует наличие или отсутствие .lib
файла и приводит к тому, что любой проект, зависящий от этого проекта, не связан с несуществующим .lib
файлом.
Для программного доступа к этому свойству см. раздел IgnoreImportLibrary.
Зарегистрировать вывод
Выполняется regsvr32.exe /s $(TargetPath)
в выходных данных сборки, допустимых только для .dll
проектов. Для .exe
проектов это свойство игнорируется. Чтобы зарегистрировать выходные .exe
данные, задайте событие postbuild в конфигурации, чтобы выполнить настраиваемую регистрацию, которая всегда требуется для зарегистрированных .exe
файлов.
Для программного доступа к этому свойству см. раздел RegisterOutput.
Перенаправление для пользователей
Регистрация в Visual Studio традиционно выполняется в HKEY_CLASSES_ROOT
(HKCR). С Windows Vista и операционными системами более поздних версий для доступа к HKCR нужно запустить Visual Studio в режиме с повышенными правами. Разработчики не всегда хотят работать в режиме с повышенными привилегиями, но по-прежнему должны работать с регистрацией. Перенаправление на пользователя позволяет зарегистрировать без необходимости выполняться в режиме с повышенными привилегиями.
Перенаправление для каждого пользователя заставляет все записи в HKCR перенаправляться в HKEY_CURRENT_USER
(HKCU). Если перенаправление для пользователей отключено, это может вызвать ошибку сборки проекта PRJ0050 при попытке программы выполнить запись в HKCR.
Дополнительные каталоги библиотек
Позволяет пользователю переопределить путь к библиотеке среды. (/LIBPATH:folder
)
Компоновать зависимости библиотек
Указывает, следует ли связывать .lib
файлы, созданные зависимыми проектами. Как правило, вы хотите связаться с .lib
файлами, но это может быть не так для некоторых библиотек DLL.
Вы также можете указать файл, указав имя файла и относительный .obj
путь, например ..\..\MyLibProject\MyObjFile.obj
. Если исходный код для .obj
файла имеет #include
предварительно скомпилированные заголовки, например, pch.obj
файл находится в той же папке, pch.h
что MyObjFile.obj
и . Кроме того, необходимо добавить pch.obj
в качестве дополнительной зависимости.
Использовать входные данные зависимостей библиотек
Указывает, следует ли использовать входные данные для средства библиотеки, а не сам файл библиотеки при связывании выходных данных библиотеки зависимостей проекта. В большом проекте, когда зависимый проект создает .lib
файл, добавочное связывание отключается. Если есть много зависимых проектов, создающих .lib
файлы, создание приложения может занять много времени. Если для этого свойства задано значение "Да", системные ссылки проекта в .obj
файлах для .lib
файлов, созданных зависимыми проектами, что обеспечивает добавочное связывание.
Дополнительные сведения о том, как получить доступ к странице свойства общего компоновщика, см. в разделе "Задание свойств компилятора и сборки".
состояние канала;
Указывает, должен ли компоновщик отображать индикатор хода выполнения, показывающий процент завершения ссылки. Значение по умолчанию не отображает эти сведения о состоянии. (/LTCG:STATUS|LTCG:NOSTATUS
)
Запрет привязки DLL
/ALLOWBIND:NO
задает бит в заголовке библиотеки DLL, указывающий на то, что Bind.exe
привязка образа не разрешена. Если DLL имеет цифровую подпись, привязывать ее не следует (при привязке цифровая подпись становится недействительной).
Обрабатывать предупреждение компоновщика как ошибки
/WX
Не приводит к созданию выходного файла, если компоновщик создает предупреждение.
Принудительное вывод файла
Параметр /FORCE
сообщает компоновщику создать .exe
файл или библиотеку DLL, даже если на символ ссылается, но не определен (UNRESOLVED
) или определяется несколько раз (MULTIPLE
). Он может создать недопустимый .exe
файл.
Варианты
- Включено -
/FORCE
без аргументов и./FORCE:MULTIPLE
/FORCE:UNRESOLVED
- Умножение определенного символа — используется
/FORCE:MULTIPLE
для создания выходного файла, даже если LINK находит несколько определений для символа. - Неопределенный символ — используется
/FORCE:UNRESOLVED
для создания выходного файла независимо от того, находит ли LINK неопределенный символ./FORCE:UNRESOLVED
игнорируется, если символ точки входа неразрешен.
Создание образа с исправлением
Готовит образ к оперативному исправлению.
Варианты
- Включено . Подготовка образа к горячему исправлению.
- Только образ X86 — подготавливает образ X86 к горячему исправлению.
- Только образ X64— подготавливает образ X64 для горячего исправления.
- Только образ Itanium — подготавливает образ Itanium для горячего исправления.
Указание атрибутов раздела
Параметр /SECTION
изменяет атрибуты раздела, переопределяя атрибуты, заданные при .obj
компиляции файла для раздела.
Страница "Входное свойство"
Дополнительные зависимости
Указывает дополнительные элементы зависимостей, добавляемые в командную строку ссылки, например kernel32.lib
.
Игнорировать все библиотеки по умолчанию
Параметр /NODEFAULTLIB
сообщает компоновщику удалить одну или несколько библиотек по умолчанию из списка библиотек, которые он выполняет поиск при разрешении внешних ссылок.
Игнорировать конкретные стандартные библиотеки
Указывает одно или несколько имен пропускаемых библиотек по умолчанию. Разделите несколько библиотек с запятой. (/NODEFAULTLIB:[name, name, ...]
)
Файл определения модуля
Параметр /DEF
передает файл определения модуля (.def
) компоновщику. Для LINK можно указать только один .def
файл.
Добавление модуля в сборку
Этот /ASSEMBLYMODULE
параметр позволяет добавить ссылку на модуль в сборку. Сведения о вводе в модуле не будут доступны программе сборки, которая добавила ссылку на модуль. Однако сведения о типе в модуле будут доступны любой программе, ссылающейся на сборку.
Внедрение управляемого файла ресурсов
/ASSEMBLYRESOURCE
внедряет файл ресурса в выходной файл.
Принудительно включать ссылки на символы
Параметр /INCLUDE
сообщает компоновщику добавить указанный символ в таблицу символов.
Задержка загруженных БИБЛИОТЕК DLL
Этот /DELAYLOAD
параметр приводит к задержке загрузки библиотек DLL. Имя библиотеки dll указывает библиотеку DLL для задержки загрузки.
Ресурс ссылки на сборку
Параметр /ASSEMBLYLINKRESOURCE
создает ссылку на ресурс платформа .NET Framework в выходном файле. Компоновщик не помещет файл ресурса в выходной файл.
Страница свойств файла манифеста
Создание манифеста
/MANIFEST
указывает, что компоновщик должен создать параллельный файл манифеста.
Файл манифеста
/MANIFESTFILE
позволяет изменить имя файла манифеста по умолчанию. Имя файла манифеста по умолчанию — это имя файла с .manifest
добавленным.
Дополнительные зависимости манифеста
/MANIFESTDEPENDENCY
позволяет указать атрибуты, которые будут помещены в раздел зависимостей файла манифеста.
Разрешить изоляцию
Задает поведение нахождения файлов манифеста. (/ALLOWISOLATION:NO
)
Включение контроля учетных записей пользователей (UAC)
Указывает, включена ли контроль учетных записей пользователей. (/MANIFESTUAC, /MANIFESTUAC:NO
)
Уровень выполнения UAC
Указывает запрошенный уровень выполнения для приложения при запуске с помощью управления учетными записями пользователей. (/MANIFESTUAC:level=[value]
)
Варианты
- asInvoker — уровень выполнения UAC: как вызывающий.
- самый высокий уровень выполнения — уровень выполнения UAC: самый высокий.
- requireAdministrator — уровень выполнения UAC: требуется администратор.
Обход пользовательского интерфейса UAC
Указывает, следует ли обходить уровни защиты пользовательского интерфейса для других окон на рабочем столе. Задайте для этого свойства значение "Да" только для приложений специальных возможностей. (/MANIFESTUAC:uiAccess=[true | false]
)
Страница свойств отладки
Создание сведений об отладке
Этот параметр позволяет создавать сведения об отладке для .exe
файла или библиотеки DLL.
Варианты
- Нет — не создает сведений об отладке.
- Создание сведений об отладке. Создание полной базы данных программы (PDB) идеально подходит для распространения на сервер символов Майкрософт.
- Создание отладочной информации, оптимизированной для более быстрых ссылок . Создает базу данных программы (PDB) идеально подходит для быстрого цикла редактирования и отладки канала.
- Создание сведений об отладке, оптимизированных для общего доступа и публикации . Создает базу данных программы (PDB) идеально подходит для общего цикла редактирования и отладки.
Создание файла базы данных программы
По умолчанию при указании /DEBUG
компоновщик создает базу данных программы (PDB), содержащую сведения об отладке. Имя файла по умолчанию для PDB имеет базовое имя программы и расширения .pdb
.
Полоса частных символов
Параметр /PDBSTRIPPED
создает второй файл базы данных программы (PDB) при сборке образа программы с любым из параметров компилятора или компоновщика, создающих PDB-файл (/DEBUG
, /Z7
/Zd
или)./Zi
Создание файла карты
Параметр /MAP
сообщает компоновщику создать файл карты.
Имя файла сопоставления
Указанное пользователем имя файла mapfile. Он заменяет имя по умолчанию.
Экспорт карт
Параметр /MAPINFO
сообщает компоновщику включить указанные сведения в файл карты, который создается при указании /MAP
параметра. EXPORTS
сообщает компоновщику включить экспортированные функции.
Отлаживаемая сборка
/ASSEMBLYDEBUG
выдает атрибут с отслеживанием сведений DebuggableAttribute
отладки и отключает оптимизацию JIT.
Страница свойств системы
SubSystem
Параметр /SUBSYSTEM
сообщает операционной системе, как запустить .exe
файл. Выбор подсистемы влияет на символ точки входа (или функцию точки входа), которую будет выбирать компоновщик.
Варианты
- Не задано — нет набора подсистем.
- Консоль — приложение в режиме символов Win32. Консольные приложения получают консоль операционной системой. Если
main
илиwmain
определено,CONSOLE
используется значение по умолчанию. - Windows — приложение не требует консоли, вероятно, потому что она создает собственные окна для взаимодействия с пользователем. Если
WinMain
илиwWinMain
определено,WINDOWS
используется значение по умолчанию. - Собственный код — драйверы устройств для Windows NT. Если
/DRIVER:WDM
задано,NATIVE
используется значение по умолчанию. - Приложение EFI — приложение EFI.
- Драйвер службы загрузки EFI — драйвер службы загрузки EFI.
- EFI ROM - EFI ROM.
- Среда выполнения EFI — среда выполнения EFI.
- POSIX — приложение, которое выполняется с подсистемой POSIX в Windows NT.
Минимальная требуемая версия
Укажите минимальную требуемую версию подсистемы. Аргументы — десятичные числа в диапазоне от 0 до 65535.
Размер резерва кучи
Указывает общий размер выделения кучи в виртуальной памяти. Значение по умолчанию — 1 МБ. (/HEAP:reserve
)
Размер фиксации кучи
Указывает общий размер выделения кучи в физической памяти. Значение по умолчанию — 4 КБ. ([/HEAP:reserve,commit
](heap-set-heap-size.md))
Размер резерва стека
Определяет общий размер виртуальной памяти, выделяемой для стека. Значение по умолчанию — 1 МБ. (/STACK:reserve
)
Размер фиксации стека
Указывает общий размер выделения стека в физической памяти. Значение по умолчанию — 4 КБ. (/STACK:reserve,commit
)
Включение больших адресов
Параметр /LARGEADDRESSAWARE
сообщает компоновщику, что приложение может обрабатывать адреса размером более 2 гигабайт. По умолчанию включен, /LARGEADDRESSAWARE:NO
если /LARGEADDRESSAWARE
в строке компоновщика не указано иное.
Terminal Server (Сервер терминалов)
Параметр /TSAWARE
задает флаг в поле в IMAGE_OPTIONAL_HEADER
DllCharacteristics
необязательном заголовке образа программы. При установке этого флага сервер терминалов не будет вносить определенные изменения в приложение.
Переключение запуска с компакт-диска
Параметр /SWAPRUN
сообщает операционной системе сначала скопировать выходные данные компоновщика в файл буфера, а затем запустить образ. Этот параметр является функцией Windows NT 4.0 (и более поздних версий). При CD
указании операционная система копирует образ на съемный диск в файл страницы, а затем загружает его.
Переключение запуска из сети
Параметр /SWAPRUN
сообщает операционной системе сначала скопировать выходные данные компоновщика в файл буфера, а затем запустить образ. Этот параметр является функцией Windows NT 4.0 (и более поздних версий). Если NET
задано, операционная система сначала копирует двоичный образ из сети в файл буфера и загружает его из него. Этот параметр полезен для запуска приложений по сети.
Драйвер
/DRIVER
Используйте параметр компоновщика для создания драйвера режима ядра Windows NT.
Варианты
- Не задано — параметр драйвера по умолчанию.
- Драйвер — драйвер
- -
/DRIVER:UPONLY
UP приводит к добавлению битаIMAGE_FILE_UP_SYSTEM_ONLY
в характеристики в заголовке выходных данных, чтобы указать, что это драйвер юнипроцессора (UP). Операционная система откажется загрузить драйвер UP в систему с несколькими обработчиками (MP). - WDM -
/DRIVER:WDM
приводит к тому, что компоновщик устанавливаетIMAGE_DLLCHARACTERISTICS_WDM_DRIVER
бит в поле необязательного заголовкаDllCharacteristics
.
Страница свойств оптимизации
Ссылки
/OPT:REF
устраняет функции и (или) данные, на которые никогда не ссылаются, а /OPT:NOREF
функции и (или) данные никогда не ссылаются.
Включить свертывание записей COMDAT
Используется /OPT:ICF[=iterations]
для выполнения идентичных свертывания COMDAT.
Порядок функций
Параметр /ORDER
указывает LINK для оптимизации программы, поместив определенные COMDAT в образ в предопределенном порядке. LINK помещает функции в указанный порядок в каждом разделе изображения.
Руководство по профилю базы данных
.pgd
Укажите файл для интерактивных оптимизаций профиля. (/PGD
)
Создание кода времени связи
Задает создание кода во время компоновки. (/LTCG
)
Варианты
- По умолчанию — параметр LTCG по умолчанию .
- Используйте создание кода времени быстрого соединения. Используйте создание кода времени связи с
/FASTGENPROFILE
. - Используйте создание кода времени связи. Используйте создание кода времени связи.
- Руководство по оптимизации профиля — инструмент . Использование управляемой оптимизации профиля с
:PGINSTRUMENT
помощью . - Оптимизация профиля — оптимизация — указывает, что компоновщик должен использовать данные профиля, созданные после запуска инструментированного двоичного файла для создания оптимизированного образа.
- Руководство по оптимизации профиля — обновление — позволяет добавлять или изменять список входных файлов, которые были указаны на
:PGINSTRUMENT
этапе.
Страница свойств Встроенного IDL
Команды MIDL
Укажите параметры командной строки MIDL. (/MIDL:@responsefile
)
Игнорировать внедренный IDL
Параметр /IGNOREIDL
указывает, что любые атрибуты IDL в исходном .idl
коде не должны обрабатываться в файл.
Объединенный базовый файл IDL
Параметр /IDLOUT
задает имя и расширение .idl
файла.
Библиотека типов
Параметр /TLBOUT
задает имя и расширение .tlb
файла.
Идентификатор ресурса TypeLib
Позволяет указать идентификатор ресурса созданной компоновщиком библиотеки типов. (/TLBID:id
)
Страница свойств метаданных Windows
Создание метаданных Windows
Включает или отключает создание метаданных Windows.
Варианты
- Да . Включение создания файлов метаданных Windows.
- Нет . Отключите создание файлов метаданных Windows.
Файл метаданных Windows
Переключатель /WINMDFILE
параметра.
Файл ключа метаданных Windows
Укажите пару ключей или ключей, чтобы подписать метаданные Windows. (/WINMDKEYFILE:filename
)
Контейнер ключей метаданных Windows
Укажите контейнер ключей для подписи метаданных Windows. (/WINMDKEYCONTAINER:name
)
Знак задержки метаданных Windows
Частично подписывая метаданные Windows. Используйте /WINMDDELAYSIGN
, только если вы хотите поместить открытый ключ в метаданные Windows. Значение по умолчанию — /WINMDDELAYSIGN:NO
.
Страница расширенных свойств
Точка входа
Параметр [/ENTRY
](entry-entry-point-symbol.md) указывает функцию точки входа в качестве начального .exe
адреса файла или библиотеки DLL.
Точка входа отсутствует
Этот /NOENTRY
параметр необходим для создания библиотеки DLL, доступной только для ресурсов. Используйте этот параметр, чтобы LINK не добавлял ссылку на _main
в DLL.
Установка контрольной суммы
Параметр /RELEASE
задает контрольную сумму в заголовке .exe
файла.
Базовый адрес
Задает базовый адрес для программы. (/BASE:{address[,size] | @filename,key}
)
Случайный базовый адрес
Случайный базовый адрес. (/DYNAMICBASE[:NO]
)
Фиксированный базовый адрес
Создает программу, которая может загружаться только по предпочтительному базовому адресу. (/FIXED[:NO]
)
Предотвращение выполнения данных (DEP)
Помечает исполняемый файл как тестируемый для совместимости с функцией предотвращения выполнения данных Windows. (/NXCOMPAT[:NO]
)
Отключение создания сборок
Параметр /NOASSEMBLY
сообщает компоновщику создать изображение для текущего выходного файла без сборки платформа .NET Framework.
Выгрузка загруженной библиотеки DLL
Квалификатор UNLOAD
сообщает вспомогательной функции задержки загрузки для поддержки явной выгрузки библиотеки DLL. (/DELAY:UNLOAD
)
Nobind delayed loaded DLL
Квалификатор NOBIND
сообщает компоновщику не включать привязываемую таблицу адресов (IAT) в окончательном изображении. По умолчанию задано создание связываемой таблицы IAT для библиотек DLL, загружаемых с задержкой. (/DELAY:NOBIND
)
Импорт библиотеки
Переопределяет имя библиотеки импорта по умолчанию. (/IMPLIB:filename
)
Разделы слияния
Параметр /MERGE
объединяет первый раздел со вторым разделом и дает результирующее имя второго раздела. Например, /merge:.rdata=.text
объединяет раздел с .text
разделом и именует объединенный раздел.text
.rdata
.
Целевой компьютер
Параметр /MACHINE
задает целевую платформу для программы.
Варианты
- Не задан
- MachineARM
- MachineARM64
- MachineEBC
- MachineIA64
- MachineMIPS
- MachineMIPS16
- MachineMIPSFPU
- MachineMIPSFPU16
- MachineSH4
- MachineTHUMB
- MachineX64
- MachineX86
Профиль
Создает выходной файл, который может быть использован для профилировщика производительности инструментов. Требуется, чтобы для свойства Generate Debug Info было задано значение GenerateDebugInformation (/DEBUG). (/PROFILE
)
Атрибут потока CLR
Явно укажите атрибут потоковой передачи для точки входа программы CLR.
Варианты
- Атрибут потоков MTA— применяет атрибут MTAThreadAttribute к точке входа программы.
- Атрибут потоков STA — применяет атрибут STAThreadAttribute к точке входа программы.
- Атрибут потоков по умолчанию — то же, что и не указан
/CLRTHREADATTRIBUTE
. Позволяет среде CLR задать атрибут потоков по умолчанию.
Тип образа CLR
Задает тип (IJW, pure или safe) CLR-образа.
Варианты
- Принудительное изображение IJW
- Принудительное применение образа Pure IL
- Принудительное применение безопасного образа IL
- Тип изображения по умолчанию
Файл ключа
Укажите пару ключей или ключей для подписывания сборки. (/KEYFILE:filename
)
Контейнер ключей
Укажите контейнер ключей для подписи сборки. (/KEYCONTAINER:name
)
Знак задержки
Частично подписыв сборку. Используйте, /DELAYSIGN
только если вы хотите поместить открытый ключ в сборку. Значение по умолчанию — /DELAYSIGN:NO
.
Проверка неуправляемого кода среды CLR
/CLRUNMANAGEDCODECHECK
Указывает, будет ли компоновщик применяться SuppressUnmanagedCodeSecurityAttribute
к вызовам P/Invoke, созданным компоновщиком, из управляемого кода в собственные библиотеки DLL.
Отчет об ошибках
Позволяет предоставлять сведения о внутренней ошибке компилятора (ICE) непосредственно команде Visual Studio C++.
Варианты
- PromptImmediately — запрос немедленно.
- Очередь для следующего входа — очередь для следующего входа.
- Отправка отчета об ошибке — отправка отчета об ошибке.
- Нет отчета об ошибке — нет отчета об ошибке.
SectionAlignment
Параметр /ALIGN
задает выравнивание каждого раздела в линейном адресном пространстве программы. Аргумент числа имеет значение байтов и должен быть двумя.
Сохранение последнего кода ошибки для вызовов PInvoke
/CLRSUPPORTLASTERROR
, который по умолчанию включен, сохраняет последний код ошибки функций, вызываемых с помощью механизма P/Invoke, который позволяет вызывать собственные функции в DLLS из кода, скомпилированного с /clr
помощью.
Варианты
- Включено — включить
/CLRSupportLastError
. - Отключено — отключить
/CLRSupportLastError
. - Только системные библиотеки DLL— включите
/CLRSupportLastError
только системные библиотеки DLL.
Образ содержит безопасные обработчики исключений
При /SAFESEH
указании компоновщик создает только изображение, если оно также может создать таблицу безопасных обработчиков исключений образа. Эта таблица указывает для операционной системы, которая является допустимой обработчиками исключений для образа.