Здравствуйте, Marty, Вы писали:
M> Здравствуйте, коллеги!
M> Есть проект, где-то полгода не трогал. Раньше все компилилось без проблем. В самом проекте с тех пор ничего не менялось, но были кое-какие изменения в зависимостях. Попробовал сейчас скомпилировать — получаю кучу ошибок: cannot access private member declared in class ... в той части кода, которая не трогалась, и которая ну никак не может зависеть, да и не зависит (проверил вроде все) от возможно изменившихся частей. За это время еще изменился комп — перенес все на другой, заново все настроил. Еще из изменившегося — версия wxWidgets, но она не участвует никак в той иерархии классов, где возникают ошибки. Студия одна и та же — 2005. Пока разбираться лень, леплю getter/setter'ы, посмотрю, заработает ли также как и раньше, но что это может быть? Старение кода?
M>ЗЫ Зависимости, которые изменились, в иерархию классов проекта не входят, существуют параллельно.
M>ЗЫЫ Наверно косяк мой какой-то, не может же быть, что код в репозитории со временем "осыпался"
M>ЗЫЫЫ С версиями сторонних библиотек можно попробовать разобраться — поставить ровно тоже, что и в старом окружении стояло, но вот версии моих зависимостей не отследить — они подключались в SVN как external, тут я проморгал момент — не разобрался как, и можно ли зафиксировать проект с нужными версиями externals'ов, из-за чего сам проект старый, а externals'ы новые.
M>Есть идеи?
Как один из вариантов — глюк студии. Несколько раз замечал, что она прекрасно компилирует код, где происходит обращение в закрытым членам класса. А потом после добавления новых классов в один прекрасный момент студия вдруг обнаруживает, что мол нет дружочек, здесь закрытый член класса, к нему обращаться нельзя. Не знаю, что это у нее за особенности такие. Возможно это связано с полным ребилдом проект, а может еще что-то.