VS 2012 не строит зависимый проект

У меня есть два проекта C ++ в Visual Studio 2012 (версия 11.0.50727.1).
Проект B зависит от проекта A, через Свойства проекта> Общие свойства> Каркас и ссылки.

Когда я делаю перестроение на B, библиотека для проекта A не генерируется в выходном каталоге, поэтому B терпит неудачу. Журналы показывают, что A строится успешно, но библиотека просто не отображается.

Действительно странная часть заключается в том, что когда я делаю «очистить, а затем собрать» вместо «перестроить», все работает правильно. Точно так же проект А строит нормально самостоятельно и генерирует .Lib. К сожалению, система сборки, которую я должен использовать, будет выполнять «перестройку», и я бы не стал ее менять, если это возможно.

Что я пробовал

Я удалил ссылку на фреймворк и попытался добавить библиотеку как зависимость компоновщика в B. В этом случае A все еще не удалось собрать, поэтому я в итоге пропустил ссылку.

Я искал на SO и Google некоторое время, но до сих пор не дотянул.

Пожалуйста, дайте мне знать, если вы когда-нибудь сталкивались с чем-то подобным!

0

Решение

Похоже, проблема заключалась в том, что A и B совместно использовали промежуточный каталог.
Кажется, что решение этих двух вопросов решило проблему.

Вот мое предположение относительно того, что происходит:

  1. А строится правильно.
  2. B начинает строить, делая «чистый»
  3. Содержимое промежуточного каталога используется для определения того, какие файлы необходимо удалить из выходного каталога, поэтому A.lib неправильно удален
  4. A.lib не найден

Это работало в предыдущей версии VS, потому что раньше у нас не было параллельного построения проектов, поэтому я предполагаю, что все проекты были сначала очищены, а затем построены.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru