fatal error C1010: unexpected end of file while looking for precompile

把项目拆分成模块,以库的方式进行编译,项目编译link时出现重复定义的问题,错误信息如下:

>uafxcwd.lib(afxinl1.obj) : error LNK2005: "protected: __thiscall CObject::CObject(void)" (??0CObject@@IAE@XZ) already defined in uafxcw.lib(except.obj)
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual __thiscall CObject::~CObject(void)" (??1CObject@@UAE@XZ) already defined in uafxcw.lib(olemisc.obj)
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual void __thiscall CObject::Serialize(class CArchive &)" (?Serialize@CObject@@UAEXAAVCArchive@@@Z) already defined in cutfiledlg.obj
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: static void * __stdcall CObject::operator new(unsigned int,void *)" (??2CObject@@SGPAXIPAX@Z) already defined in uafxcw.lib(wincore.obj)
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual __thiscall CException::~CException(void)" (??1CException@@UAE@XZ) already defined in uafxcw.lib(olemisc.obj)
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: __thiscall CSimpleException::CSimpleException(int)" (??0CSimpleException@@QAE@H@Z) already defined in uafxcw.lib(except.obj)
1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual __thiscall CSimpleException::~CSimpleException(void)" (??1CSimpleException@@UAE@XZ) already defined in uafxcw.lib(except.obj)

1>uafxcwd.lib(afxinl1.obj) : error LNK2005: "public: __thiscall CMemoryException::CMemoryException(int,unsigned int)" (??0CMemoryException@@QAE@HI@Z) already defined in uafxcw.lib(except.obj)

出现问题的原因是项目工程和库的工程runtime library 设置不一样导致,如下图:

把所有工程这个设置成一样,编译link通过,问题解决。具体技术原因参考下面信息:

http://blog.csdn.net/luoweifu/article/details/49055933

另一个问题是,在项目CPP中如果没有加#include "stdafx.h"就会报错的问题,提示如下:

fatal error C1010: unexpected end of file while looking for precompile

去掉预编译头文件,解决的方法如下图示:




猜你喜欢

转载自blog.csdn.net/chengf223/article/details/79384793
今日推荐