У меня есть два проекта C ++ в Visual Studio 2012 (версия 11.0.50727.1).
Проект B зависит от проекта A, через Свойства проекта> Общие свойства> Каркас и ссылки.
Когда я делаю перестроение на B, библиотека для проекта A не генерируется в выходном каталоге, поэтому B терпит неудачу. Журналы показывают, что A строится успешно, но библиотека просто не отображается.
Действительно странная часть заключается в том, что когда я делаю «очистить, а затем собрать» вместо «перестроить», все работает правильно. Точно так же проект А строит нормально самостоятельно и генерирует .Lib. К сожалению, система сборки, которую я должен использовать, будет выполнять «перестройку», и я бы не стал ее менять, если это возможно.
Что я пробовал
Я удалил ссылку на фреймворк и попытался добавить библиотеку как зависимость компоновщика в B. В этом случае A все еще не удалось собрать, поэтому я в итоге пропустил ссылку.
Я искал на SO и Google некоторое время, но до сих пор не дотянул.
Пожалуйста, дайте мне знать, если вы когда-нибудь сталкивались с чем-то подобным!
Похоже, проблема заключалась в том, что A и B совместно использовали промежуточный каталог.
Кажется, что решение этих двух вопросов решило проблему.
Вот мое предположение относительно того, что происходит:
Это работало в предыдущей версии VS, потому что раньше у нас не было параллельного построения проектов, поэтому я предполагаю, что все проекты были сначала очищены, а затем построены.
Других решений пока нет …