Как соотнести конфигурации сборки в зависимых файлах vcproj с разными именами? - PullRequest
0 голосов
/ 14 июня 2010

У меня есть файл решения, для которого требуется сторонняя библиотека (с открытым исходным кодом).Содержащее решение использует типичные имена конфигурации «Debug» и «Release».

Стороннее решение имеет конфигурации отладки и выпуска для DLL и статических библиотек - их имена не являются «Debug» и «Release».".

Как мне сначала сказать решению построить зависимость и как соотнести какую конфигурацию с зависимой конфигурацией?

То есть MyProject:Debug должен создать либо 3rdParty:debug_shared, либо3rdParty:debug_static.

ОБНОВЛЕНИЕ:

Я не хочу соотносить один с многими.Я просто хочу иметь возможность выбрать один и придерживаться его.Таким образом, в моем случае я бы сопоставил Debug в основном проекте с 3rdParty:shared_debug.

Как мне это сделать?

Когда я говорю build для решения для отладки, я хочу стороннююматериал для сборки.

Ответы [ 2 ]

1 голос
/ 15 июня 2010

В IDE есть «менеджер конфигурации», в котором вы можете привязать конфигурации проекта к конфигурации решения.Также есть инструмент «Построить зависимости», чтобы выбрать, какой проект должен быть скомпилирован первым.

1 голос
/ 14 июня 2010

Я не думаю, что есть простой способ иметь один переключатель конфигурации решения между созданием различных конфигураций проекта;если я правильно понимаю, вы хотите

mySolution:debug -> myProject:debug, 3rdParty:debug_shared, ...

и в другой момент времени

mySolution:debug -> myProject:debug, 3rdParty:debug_static, ...

Вы можете вручную или даже с помощью макросов изменять конфигурацию сборки для решения при каждом построениино разве это не утомительно?

Если вы следуете пути Visual Studio, вы создаете дополнительные конфигурации решений и изменяете настройки в сборке Configuration Manager, чтобы они соответствовали настройкам третьей части.

mySolution:debug_shared -> myProject:debug, 3rdParty:debug_shared, ...
mySolution:debug_static -> myProject:debug, 3rdParty:debug_static, ...

Это никак не меняет конфигурацию вашего собственного проекта, и переключаться между ними относительно легко.

Редактировать : если ваш проект зависит от этого третьего-партийная библиотека, тогда разве ей не нужны две конфигурации?Предположим, что ваш проект хочет использовать стороннюю статическую библиотеку, тогда компоновщик должен знать его имя и путь.С другой стороны, если вы хотите использовать DLL, компоновщик должен знать другое имя / путь.Как вы переключаетесь между этими двумя, не имея две конфигурации?В какой-то момент вам нужно будет указать компоновщику, какую библиотеку использовать, так что вы просто получите что-то вроде

mySolution:debug_shared -> myProject:debug_using_shared_3rdparty, 3rdParty:debug_shared, ...
mySolution:debug_static -> myProject:debug_using_static_3rdparty, 3rdParty:debug_static, ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...