У меня есть решение Visual Studio 2010 с несколькими очень близкими проектами. Хотелось бы уйти от совместного использования кода копирования и вставки общих разделов между проектами. Мы попытались добавить ссылку на класс из проекта A в проект B, но получаем ошибки компиляции, когда общий класс ссылается на неверный файл stdafx.h. Обратите внимание, что предварительно скомпилированные заголовки включены (по умолчанию) для обоих проектов.Разделение классов между проектами при обходе зависимостей stdafx.h
Мы также узнали, что это файл not possible to #ifdef the correct stdafx.h с использованием определений препроцессора.
На данный момент мы видим, что наши варианты состоят в том, чтобы либо построить проект статической библиотеки, либо несколько проектов, и ссылаться на них как из проекта A & B, так и для того, чтобы попробовать скопировать исходный файл stdafx.h в исходное состояние вложенную папку общего кода. Третьим было бы перепроектировать оба проекта, чтобы вообще не использовать stdafx.h.
Все эти варианты кажутся мне излишними. Есть ли более легкое решение, которое мне не хватает?
Я думаю, что лучший вариант действительно создает статическую библиотеку с общим кодом, как вы уже заметили ... – Aconcagua
Одним из решений является сборка с отключенными предварительно скомпилированными заголовками. Это полностью избавляет от stdafx.h. – user4581301
Вы пытались создать новый фильтр и добавить классы из других проектов в этот фильтр. Это может помочь понять, где находятся другие классы проектов, и вы можете добавить stdafx.h к этому фильтру. – amisam