Построить проблемы с проектом Visual C++ после регистрации и извлечения из CVS

Я создаю кроссплатформенный продукт, и одно из требований касается всех окон (win32,AMD64 и IA61). Продукт является относительно простым CLI, но у нас есть отдельная команда по сборке, которая проверяет код из CVS и строит в отдельных средах сборки. Я могу успешно собрать (используя Visual C++ 2005) на одной платформе (машина AMD). Но как только я проверяю код, проверять сборку не удается.

Причина сбоя компоновки заключается в том, что пути к библиотекам неверно указаны в листах свойств. В частности, папка выходного файла под компоновщиком на страницах свойств указана неправильно. Таким образом, эти библиотеки встроены в другую папку, из которой их ожидают другие проекты.

Однако наряду с исходным кодом я также проверяю файлы.sln (и более поздние файлы.vcproj) каждый раз. Более того, если я открою файл.sln в папке, где сборка не удалась, нет никакой разницы между тем, где я мог бы успешно собрать (предварительная регистрация). На самом деле, используя windiff, я не увидел никакой разницы между двумя папками сборки (за исключением некоторых файлов журналов.ncb и cvs).

Итак, есть идеи, что происходит? Откуда VC++ 2005 берет каталоги включения, откуда берет путь к выходной папке, если не из.sln? CVS как-то мешает процессу? Что-нибудь еще, что я мог попробовать.

Заранее спасибо.

3 ответа

Решение

Просто для обновления проблема была решена. Основная причина - файлы.vcproj не проверялись в CVS!! Именно здесь хранились отдельные настройки проекта (у меня сложилось впечатление, что это делается в файлах.sln).

У вас есть какие-нибудь двоичные файлы, зарегистрированные как ASCII?

Обратный прием в CVS и из него может привести к повреждению двоичных файлов, которые неправильно помечены как ASCII, поскольку CVS выполняет обработку символов для файлов ASCII (например, чтобы дать вам правильные коды конца строки для вашей ОС). Коррупция может возникнуть даже в любой среде Windows.

Для получения дополнительной информации см. Раздел "Двоичные файлы" в разделе часто задаваемых вопросов CVS.

Я думаю, что проблема может заключаться в том, что после того, как вы изменили параметры в одной конфигурации сборки (например, x86-Release), но забыли изменить их для другой конфигурации (например, ia64-Debug), и при изменении конфигурации у вас возникла эта проблема.

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

Другие вопросы по тегам