Построить проблемы с проектом Visual C ++ после регистрации и извлечения из CVS - PullRequest
0 голосов
/ 22 декабря 2009

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

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

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

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

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

Ответы [ 3 ]

1 голос
/ 09 марта 2010

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

0 голосов
/ 22 декабря 2009

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

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

Дополнительную информацию см. В разделе Binary в CVS FAQ .

0 голосов
/ 22 декабря 2009

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

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

...