정말 오래된 Visual Studio 97 C++ 프로젝트를 Visual Studio 2010으로 이식하는 데 어려움을 겪고 있습니다. 먼저 바로 이전에 얻었던 오류에 대해 약간의 배경 지식을 제공합니다. 이 새로운 LNK1224 오류와 관련된 것일 수 있습니다. 그러나 확실하지 않습니다. 나의 새로운 오류이상한 링크 오류 - LNK1224 : 유효하지 않은 이미지베이스
전에 나는이 오류가 수신되었습니다 뒷조사를 통해
error LNK2005: "void __cdecl operator delete(void *)" ([email protected]@Z) already defined in LIBCMT.lib(delete.obj) nafxcw.lib(afxmem.obj)
을이 오류에 대한 이유는 MFC 및 CRT 라이브러리를 모두 ""새로운 "삭제에 대한 정의를 포함하기 때문에 것을 발견 "그래서 그들은 충돌했다. Microsoft는 이에 대한 자세한 해결책을 http://support.microsoft.com/kb/q148652/에 제공합니다. 그 중 하나는 모든 파일에서 항상 MFC 헤더 (afx 파일)를 포함시키는 것입니다. 음,이 프로젝트에는 약 100 개의 파일이 있으며 자원을 포함하는 파일을 잘못된 순서로 찾으려고 애쓰는 데 지쳤습니다. 그래서 기본적으로 라이브러리가 특정 순서로로드되도록하는 다른 솔루션을 사용했습니다. 기본적으로 컴파일러에게 특정 라이브러리를 무시하도록 지시해야합니다. 그렇게하면 선택한 순서대로 명시 적으로로드 할 수 있습니다. 제 경우에는 nafxcw.lib이었습니다.
그래서 Project Properties -> Linker -> Input에서 명시 적으로 nafxcw.lib를 무시한 다음 목록의 맨 앞에 명시 적으로 포함 시켰습니다.
그래서이 일을 한 후, 내 LNK2005 오류가 멀리 갔다. 그러나 그들은 하나의 단일 링크 오류로 대체되었습니다.error LNK1224: invalid image base 0x287600000
내가 제대로 내 이전 링크 오류를 수정하는 경우 나도 몰라이 새로운 링크 오류가 사실은 내가 처리해야 다음 일이, 또는 단순히 기본적으로 중지되어 더 중요한 링크 오류를 생성 링크 과정이 원래 LNK2005 오류가 발생하기 전에 두 경우 모두이 오류에서 찾을 수있는 정보가 많지 않습니다. Microsoft는이 모든 그다지 도움이되지 않습니다 그것은 http://msdn.microsoft.com/en-us/library/3ya3f8wz%28v=vs.80%29.aspx
You specified an invalid base address for the image. Base addresses must be 64KB aligned (the last four hex digits must be zero) and image base must fit within a 32-bit signed or unsigned value.
에 대한 링크에서 많은 말을하고이 문제가 어디에서 오는에 관한 다른 단서를 할 수없는 것 같습니다하지 않습니다. 나는 다음 단계가 무엇인지 모른다.