none
Vs C++ 2003에서 2005로 project를 옮기면서 "afx.h"관련 C2248 오류가 발생함 RRS feed

  • 질문

  • 이전 VS C++ 2003에서 compile오류 없던 project를 VS C++ 2005에서 compile했더니

    하기와 같이 오류가 발생합니다. 구문오류는 아니 것 같은데 도와주시면 감사하겠습니다.

    1>------ 빌드 시작: 프로젝트: ADAMLOADER, 구성: Debug Win32 ------
    1>컴파일하고 있습니다...
    1>stdafx.cpp
    1>Automatically linking with ToolkitPro1340vc80D.dll
    1>컴파일하고 있습니다...
    1>ADAMLOADER.cpp
    1>ADAMLOADERDlg.cpp
    1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(1259) : error C2248: 'CObject::CObject' : private 멤버('CObject' 클래스에서 선언)에 액세스할 수 없습니다.
    1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(558) : 'CObject::CObject' 선언을 참조하십시오.
    1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(529) : 'CObject' 선언을 참조하십시오.
    1>        이 진단은 컴파일러 생성 함수 'CFile::CFile(const CFile &)'에서 수행되었습니다.
    1>EditHexInput.cpp
    1>FillDataDlg.cpp
    1>GangControl.cpp
    1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(1259) : error C2248: 'CObject::CObject' : private 멤버('CObject' 클래스에서 선언)에 액세스할 수 없습니다.
    1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(558) : 'CObject::CObject' 선언을 참조하십시오.
    1>        c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(529) : 'CObject' 선언을 참조하십시오.
    1>        이 진단은 컴파일러 생성 함수 'CFile::CFile(const CFile &)'에서 수행되었습니다.
    1>GotoAddressDlg.cpp
    1>Myedit.cpp
    1>코드를 생성하고 있습니다...
    1>빌드 로그가 "file://c:\Documents and Settings\HP\My Documents\Visual Studio 2005\Projects\ADAMLOADER\ADAMLOADER\Debug\BuildLog.htm"에 저장되었습니다.
    1>ADAMLOADER - 오류: 2개, 경고: 0개
    ========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========

    2010년 8월 25일 수요일 오전 8:41

모든 응답

  • 저도 2003에서 2008로 옮길 때 진통을 겪었는데요.

    제가 사용한 방법은..
    프로젝트를 그대로 변환하지 않고 새로 생성해서 노가다를 좀 했습니다.

    MFC나 ATL을 사용한 코드들은 새로 생성한 다음에 이전 코드를 복사해서 넣는 식으로 새로 만들고
    리소스들도 새로 구성해 주었습니다.
    그외에 크게 의존적이지 않은 C++ 표준 코드나 Win32 API들은 파일을 그대로 복사해서 사용했구요.

    2005 이후의 버전은 C++ 표준을 지킵니다.
    그 전에는 MS 스타일이었죠. (2003도 비표준)
    그래서 코드레벨에서 호환 안되는 내용도 있고..
    여차저차로 변환보다는 새로 생성을 추천 드립니다.

    2010년 9월 5일 일요일 오후 5:40