Как я могу автоматически ссылаться на библиотеки отладки / выпуска в VC++ 6.0?
Я пытаюсь сохранить программу, написанную 5 лет назад на VC++ 6.0. Он использует наши "общие" библиотеки. Проблема, с которой я столкнулся, заключается в том, что она либо связывается с отладочной версией этих библиотек, либо с версией выпуска, в зависимости от того, установлен ли в [каталогах] для [библиотечные файлы] значение "common/ debug" или "common/ release" в [ Инструменты]->[Options].
Как мне получить ссылку на [common\debug\common.lib] при сборке отладочной версии и [common\release\common.lib] при сборке релизной версии? Если у меня есть оба пути в каталогах библиотеки, кажется, что это ссылка на первый найденный путь.
5 ответов
Вместо того, чтобы указывать пути в папках включения и все лучшее, что я могу использовать для включения библиотек в зависимости от конфигурации, это использование #pragma
попробуйте это один раз, это очень полезно
ifdef _DEBUG
комментарий к прагме (lib, "..\DllTest\Debug\DllTest.lib")
еще
комментарий к прагме (lib, "..\DllTest\Release\DllTest.lib")
ENDIF
В [Свойства проекта]->[Компоновщик]->[Вход]->[Дополнительные зависимости] вы можете использовать заполнитель $(ConfigurationName), например:
c:\common\$(ConfigurationName)\common.lib
В конфигурации отладки это изменится на:
c:\common\Debug\common.lib
и в Release это изменится на:
c:\common\Release\common.lib
Если у меня есть оба пути в каталогах библиотеки, кажется, что это ссылка на первый найденный путь.
Просто добавьте папку отладки для настроек отладки и папку выпуска для настроек выпуска.
Почти все параметры компилятора, ссылок и т. Д. Указаны для каждой конфигурации (свойства проекта будут показывать пустые параметры во всех конфигурациях (если я правильно помню текст), если отладка и выпуск отличаются.
Решение, которое я нашел, немного похоже на Ричарда и "1800 Информация"...
Я удалил путь к общей библиотеке из Tools->Options
, Приведенные здесь пути являются общими для всех конфигураций всех проектов, работающих в MSVS VC++ 6.0.
Затем я добавил полный путь к соответствующей библиотеке в Project->Settings
для каждой конфигурации. Hense отладочная конфигурация D:\VSS\Common\Debug\Common.lib
и конфигурация выпуска имеет D:\VSS\Common\Release\Common.lib
, Кажется, это работает, и впервые у меня нет предупреждений о сборке!
Спасибо всем предложениям для того, чтобы указать мне, что, кажется, правильное направление.
--- Алистер.
Вы можете указать полный путь к библиотеке для ссылки в поле Дополнительные зависимости, это может иметь разные значения для отладочной и выпускной сборок.