제가 작업하다가 만난 에러입니다.
[C++ Fatal Error] CKZip.cpp(251): F1004 Internal compiler error at 0xcb2510 with base 0xc10000
헉.. 컴파일이 안되네요.
너무 헤더파일이 많은가 싶어 헤더 파일은 최소화 시키고 갈아봐도 안되고 해서
소스를 유심히 보다가
잘못된 곳을 찾았습니다.
제작중인 클래스의 일부인데
class CKZip
{
public:
typedef char * TFilePtr;
struct THead
{
char GuideMsg[80];
UINT Sign;
char reserved;
char Reserved[200 - offsetof(THead, reserved) - 1];
public:
THead()
{
ZeroMemory(this, sizeof(*this));
}
};
struct TFileInfo
{
UINT Size; // 파일크기.
//time_t Time; // 파일생성일자.
char reserved;
char Reserved[20 - offsetof(THead, reserved) - 1];
---> 바로 여기가 문제였습니다. 붙여 넣기 할때 수정치 않은 것 때문에.
char Reserved[20 - offsetof(TFileInfo, reserved) - 1];
로 바꾸니 컴파일 잘되는군요.
위 에러에 대해 빌더는 엉뚱한 도움말을 출력하는데,
아뭏튼 위와 같은 에러를 만나면 소스를 유심히 보시기 바랍니다.
저의 에러 경우를 참고하면 보다 빨리 에러를 잡아 낼 수 있지 않을까요.
생각보다 빌더 컴파일러는 정상적인 문법을 사용한 경우는 제대로 컴파일을 해낸답니다.
|