Проблемы сборки при переходе с VS2008 Prof на VC ++ Express 2008

Я только что взял на себя разработку игр от своего друга. Разработка ведется на VC ++.

Код работал отлично, когда он был построен на Visual Studio 2008 Professional Edition.

Без каких-либо изменений я пытался собрать код в VC ++ Express 2008 Edition и выдавал множество ошибок (более 100). Все они либо:

 error C2953: 'std::tr1::_Result_of1<Rx(_thiscall _Arg0::* )(void),_Farg0&>' : class template has already been defined C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xxresult  106 
, либо
error C2995: 'std::tr1::_Mem_fn1<_Rx,Rx(_thiscall _Arg0::* )(void),_Arg0> std::tr1::mem_fn(Rx (_thiscall _Arg0::* )(void))' : function template has already been defined C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xxmem_fn  47
Поскольку все ошибки возникают из-за включаемых файлов, а не из написанного кода, я застрял.

Любая помощь в правильном направлении будет оценена. Спасибо за уделенное время.


person inder    schedule 11.02.2011    source источник
comment
Мне кажется, что есть повторяющееся определение для шаблона класса. Убедитесь, что вы не включаете один и тот же файл заголовка дважды.   -  person Cody Gray    schedule 11.02.2011
comment
@Cody Если это так, не должно возникать ошибки при компиляции / сборке в VS2008 Professional Edition. Но спасибо, я посмотрю на это   -  person inder    schedule 11.02.2011
comment
Я подозреваю, что код, которого у вас нет, тоже не будет компилироваться в Professional Edition. Что-то, должно быть, испортилось во время миграции. Возможно, у вас есть двойные копии определенного исходного файла или что-то в этом роде. Сообщения об ошибках показывают номера строк и имена файлов в самом конце. Лучшее, что я знаю, - это отслеживать проблемы с помощью кода. В компиляторе Express нет известных ошибок; он точно такой же, как и в версии Professional.   -  person Cody Gray    schedule 12.02.2011


Ответы (1)


Похоже, вы используете Nebula2 :)
В nsystem.h remove "#define __cdecl"
Эта ошибка также может возникнуть, если где-то появляется определение вроде:

#define __cdecl

#define volatile

#define const

person Niello    schedule 26.04.2011