fatal error LNK2019和fatal error LNK1120

Error2019原因:

①你使用别人的库,比如说OPenCV的库,OpenGL的库等等第三方库。常见情况是你只是包含了头文件,但是没有引入库文件

②你没有使用别人的库,微软自带的一些库也可能出现这样的问题。这时常见情况是链接失败的函数所在的头文件在项目属性的包含目录下,但是相应的库文件却不在项目属性的默认库目录里。比如说常见问题样式里的CreateViewGLContext(struct HDC__ *)函数就是这种情况,此函数在头文件wingdi.h里定义,这个头文件在项目属性中默认的包含目录下,但是对应的库文件opengl32.lib却不在库目录里

③你使用了自己做的库文件。这种情况自己没有试过,看过网上的一些说法

fatal error LNK1120原因:

①.只包含了头文件,只有这个函数的声明,没有包含这个函数的实现(实现一般放在cpp文件中的)。所以只能通过编译,连接不成功。

②另一个原因是函数的声明和实现都放在头文件中了,一般要把声明放头文件中,实现放在cpp文件中。这样每个#include该头文件的文件都会有一份该函数的实现,连接的时候,连接器不知道连接哪一个实现,于是报错。

 

 

posted @ 2019-05-31 18:19  鲁太师  阅读(366)  评论(0编辑  收藏  举报