Проект VC ++ никогда не обновляется - PullRequest
1 голос
/ 22 января 2010

Я использую Visual Studio 2008.

У меня есть решение с двумя проектами. Один создает библиотеку DLL, которая является моим «рабочим кодом». Другой создает исполняемый файл консольного приложения, который является моим набором модульных тестов.

Для моего проекта модульного тестирования я перечислил в качестве входных данных компоновщика имена исходных модулей из DLL. Т.е. у меня есть DLLMain.cpp в проекте DLL и вход компоновщика "DLLMain" в проекте exe. Это позволяет exe-файлу связываться с файлами obj, созданными проектом DLL, предотвращая перекомпиляцию этих модулей только для модульных тестов. (Экономит много времени на сборку.)

ПРОБЛЕМА заключается в том, что, поскольку exe создается позже, чем объект, и в другом проекте его временная метка всегда новее, чем объект. Поэтому, когда вы пытаетесь запустить или отладить, он ВСЕГДА говорит, что exe-проект устарел и его необходимо перестроить.

Есть ли способ настроить exe-проект на игнорирование меток времени? Или есть какое-то другое, возможно, более общее решение, которого я здесь не вижу?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2010

Перейти к проекту, который не нужен для юнит-тестирования
Щелкните правой кнопкой мыши на нем и нажмите Свойства
Нажмите на диспетчер конфигурации
Добавьте новую конфигурацию, используя первый выпадающий список
Нажмите ОК
Выберите эту конфигурацию в окне, которое теперь сфокусировано
затем в свойствах конфигурации установите «Исключено из сборки» в значение yes

0 голосов
/ 22 января 2010

Похоже, что вы создаете foo.obj в проекте DLL, связываете foo.obj в проекте DLL для создания DLL, а затем связываете foo.obj с вашим проектом EXE без предварительной перекомпиляции.

Я никогда не делал этого раньше, но прежде всего я хотел бы убедиться, что настройки промежуточного каталога одинаковы как для проекта EXE, так и для проекта DLL.

...