Я использую Visual Studio 2008.
У меня есть решение с двумя проектами. Один создает библиотеку DLL, которая является моим «рабочим кодом». Другой создает исполняемый файл консольного приложения, который является моим набором модульных тестов.
Для моего проекта модульного тестирования я перечислил в качестве входных данных компоновщика имена исходных модулей из DLL. Т.е. у меня есть DLLMain.cpp в проекте DLL и вход компоновщика "DLLMain" в проекте exe. Это позволяет exe-файлу связываться с файлами obj, созданными проектом DLL, предотвращая перекомпиляцию этих модулей только для модульных тестов. (Экономит много времени на сборку.)
ПРОБЛЕМА заключается в том, что, поскольку exe создается позже, чем объект, и в другом проекте его временная метка всегда новее, чем объект. Поэтому, когда вы пытаетесь запустить или отладить, он ВСЕГДА говорит, что exe-проект устарел и его необходимо перестроить.
Есть ли способ настроить exe-проект на игнорирование меток времени? Или есть какое-то другое, возможно, более общее решение, которого я здесь не вижу?