编程或者在复制他人程序的时候经常出现无法解析外部符号的错误,分析原因如下:
1.未添加相关的依赖项,也就是库文件没有包含全面。解决办法(vs2010为例),在项目属性连接器中添加相关的依赖项。
2.指定在何处查找lib库文件。连接器中常规附加库中指定lib库文件。
3.添加头文件包含目录。v在C/C++,常规,附加包含目录,用于包含头文件。
4.头文件有声明,cpp文件无定义,而且该函数被引用。
5,错误 126 error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall EditPreview::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@EditPreview@@UAEHW4Call@QMetaObject@@HPAPAX@Z) E:\workspace\code\20130412\StereoEyes2\EditPreview.obj
错误 124 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall EditPreview::metaObject(void)const " (?metaObject@EditPreview@@UBEPBUQMetaObject@@XZ) E:\workspace\code\20130412\StereoEyes2\EditPreview.obj
错误 125 error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall EditPreview::qt_metacast(char const *)" (?qt_metacast@EditPreview@@UAEPAXPBD@Z) E:\workspace\code\20130412\StereoEyes2\EditPreview.obj
此问题是中间文件出现无法解析,把文件从项目中排出然后再添加进来。