2012-06-11 8 views
0

이전 C++ 프로젝트를 VS2010으로 이동하려고합니다.C++ 프로젝트를 이동하면서 atlplus.h의 오류가 발생했습니다.

컴파일 할 VS의 마지막 버전은 VS2005입니다. 이미 많은 오류가 수정되었지만

atlplus.hVC10 header file 오류가 발생하고 있습니다.

Error 1 error C2065: 'CStringW' : undeclared identifier C:\Program 
Files (x86)\Microsoft Visual Studio 
10.0\VC\atlmfc\include\atlplus.h 692 1 


    Error 2 error C2146: syntax error : missing ';' before 
    identifier 'strW' C:\Program Files 
(x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlplus.h 692 1 


Error 3 error C3861: 'strW': identifier not found 
C:\Program Files 
(x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlplus.h 692 1 


Error 4 error C2065: 'strW' : undeclared identifier C:\Program Files 
(x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlplus.h 693 1 

누구 아이디어가 있습니까? 지난주부터 여기 붙어 있었어.

+0

당신은'_UNICODE'를 정의하지 않고 /와 시도? 그 오류가 헤더에서 왜 던져 질지는 모르지만, 유니 코드 유형을 찾지 못하면 빌드 할 때 올바른 방향으로 가리킬 수 있기 때문에 가치가있을 수 있습니다. –

+0

#define __UNICODE를 WinMain 함수를 포함하는 소스 파일에 추가해 보았습니다. 여전히 동일합니다. – metacircle

+0

'__UNICODE'가 아닙니다. '_UNICODE' (단 하나 _). – kjp

답변

1

atlstr.h 앞에 CString을 사용하는 헤더를 포함해야합니다.
CStringatlstr.h 헤더 파일로 이동되었습니다.

+0

이 부분을 어디에 넣어야하는지 정확히 어떻게 알 수 있습니까? 이 프로젝트는 꽤 크고 컴파일하기위한 작업이 있으며, 그 작업과 관련이 없으며 일반적으로 .NET 세계에서 왔습니다. – metacircle

+0

atlxxx.h가 포함되기 전에 포함 시키려고 할 수 있습니다. – Superman

1

나는 비슷한 문제를 만났다. atlstr.h 대신 atlbase.h을 포함 시키십시오.

당신은 파일 atlplus.h에 주석 행을 볼 수

//Avoid using <atlstr.h> except in the registry templates (for circular dependencies). 
관련 문제