У меня есть проект C ++, который я сейчас портирую с VS2008 на VS2010.Когда я собираю проект, Visual Studio 2010 сообщает, что сборка прошла успешно, но если я нажимаю F5, чтобы запустить отладчик, мне говорят, что проект не обновлен.Если я проигнорирую это предупреждение, я смогу продолжить отладку ok, но если я нажму ok, весь проект (много сотен исходных файлов) будет восстановлен с нуля.Вывод содержит следующее:
1>------ Build started: Project: SCCW-VC2010, Configuration: Debug Win32 ------
1>Build started 15/11/2010 14:47:40.
1>InitializeBuildStatus:
1> Creating "Debug\SCCW-VC2010.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>Midl:
1> All outputs are up-to-date.
1>ClCompile:
1> tinedit.cpp
1> _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
1> Automatically linking with sfl504d.lib
1> Automatically linking with ot1104d.lib
1>c:\program files\rogue wave\stingray studio 10.4\include\toolkit\sectndlg.h(134): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
1> Automatically linking with og1204d.lib
1> Automatically linking with RWUXThemeD10.lib
1> profile.cpp
1> ZOffsetDialog.cpp
Через полчаса после завершения сборки запускается отладчик.Я предполагаю, что сообщение
Создание «Debug \ SCCW-VC2010.unsuccessfulbuild», поскольку было указано «AlwaysCreate».
является частью проблемы, но я не могупривязать это к настройке проекта.Я нашел некоторую помощь в Google , но ничего, что до сих пор не работало.Кто-нибудь еще имел эту проблему и знает об исправлении?
Редактировать: Согласно предложению Джальфа в комментариях ниже, я создал новый проект, импортировал все мои файлы в этот проект иновый проект имеет те же проблемы.В частности, я скопировал все следующие группы:
<ClCompile Include="..\MyDir\MyFile.cpp"/>
<ClInclude Include="..\MyDir\MyFile.h" />
<None Include="res\MyFile.ico" /> (and all similar resources)
<Library Include="..\MyDir\MyFile.lib" />
Edit2: После прохождения всех включенных в заголовок я в конечном итоге нашел 3, которые не существовали.Удаление их и восстановление всего исходного проекта, похоже, решило проблему.Некоторые посты в блогах, в которых упоминается эта проблема, относятся к ней как к ошибке, и через два дня я теряю время, я склонен согласиться.Спасибо за предоставленные ответы и комментарии.
Edit3: И через день проблема возвращается!Любое редактирование любого файла в проекте еще раз приводит к полной перестройке.Согласно ответу Джона Диблинга, проект включает в себя некоторые статические библиотеки, включая Stingray.Я отказываюсь от VS2010 и возвращаюсь к VS2008, так как у меня есть сроки.Для получения дополнительной информации см. Следующие ссылки:
VS2010 всегда считает, что проект устарел, но ничего не изменилось
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/38c08137-3bb0-4143-b97f-72d077646318
http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-c-project-system-logging.aspx
Окончательное редактирование Выпуск VS2010 SP1 решил эту проблему, и теперь сборки выполняются быстро и эффективно.