Как я могу автоматически ссылаться на библиотеки отладки / выпуска в VC ++ 6.0? - PullRequest
2 голосов
/ 20 марта 2009

Я пытаюсь сохранить программу, написанную 5 лет назад на VC ++ 6.0. Он использует наши «общие» библиотеки. Проблема, с которой я столкнулся, заключается в том, что она либо связывается с отладочной версией этих библиотек, либо с версией выпуска, в зависимости от того, установлено ли в [[Каталоги] для [библиотечные файлы] значение "common / debug" или "common / release" в [ Инструменты] -.> [Options]

Как мне получить ссылку на [common \ debug \ common.lib] при сборке отладочной версии и [common \ release \ common.lib] при сборке релизной версии? Если у меня есть оба пути в каталогах библиотеки, кажется, что они ссылаются на первый найденный путь.

Ответы [ 5 ]

3 голосов
/ 01 апреля 2009

Вместо указания путей во включаемых папках и наилучшим способом включения библиотек в зависимости от конфигурации используется # pragma

попробуйте один раз, это очень полезно

#ifdef _DEBUG
#pragma comment(lib, "..\\DllTest\\Debug\\DllTest.lib")

#else 
#pragma comment(lib, "..\\DllTest\\Release\\DllTest.lib")

#endif
1 голос
/ 20 марта 2009

В [Свойства проекта] -> [Компоновщик] -> [Вход] -> [Дополнительные зависимости] вы можете использовать заполнитель $ (ConfigurationName), например:

c:\common\$(ConfigurationName)\common.lib

В конфигурации отладки это изменится на:

c:\common\Debug\common.lib

и в Release это изменится на:

c:\common\Release\common.lib
1 голос
/ 20 марта 2009

Если у меня есть оба пути в каталогах библиотеки, кажется, что это ссылка на первый найденный файл.

Просто добавьте папку отладки для настроек отладки и папку выпуска для настроек выпуска.

Практически все параметры компилятора, ссылок и т. Д. Указаны для каждой конфигурации (в свойствах проекта в «всех конфигурациях» (если я правильно помню текст) параметры будут отображаться пустыми, если отладка и выпуск отличаются.

0 голосов
/ 20 марта 2009

Решение, которое я нашел, немного похоже на решение Ричарда и "1800 Information" ...

Я удалил путь к общей библиотеке из Tools->Options. Указанные здесь пути являются глобальными для всех конфигураций всех проектов, работающих в MSVS VC ++ 6.0.

Затем я добавил полный путь к соответствующей библиотеке в Project->Settings для каждой конфигурации. Hense в конфигурации отладки D:\VSS\Common\Debug\Common.lib, а в конфигурации выпуска D:\VSS\Common\Release\Common.lib. Кажется, это работает, и впервые у меня нет предупреждений о сборке!

Спасибо всем предложениям, указывающим мне правильное направление.

--- Алистер.

0 голосов
/ 20 марта 2009

Вы можете указать полный путь к библиотеке для ссылки в поле Дополнительные зависимости, это может иметь разные значения для отладочной и выпускной сборок.

...