error LNK2001: 无法解析的外部符号 error LNK2019: 无法解析的外部符号
一般说,对于函数使用中最常见的错误,如使用错误的函数名字,或者未包含声明该函数的头文件,会导致编译不通过,产生error C3861错误。
而对于链接错误error LNK2001、error LNK2019,一般是链接时找不到相应的函数时造成的。根据个人的理解,就是正确的使用了在头文件中声明的函数,而没有相应函数的实现,导致链接时找不到此函数。
一般来说,“没有相应函数的实现”,一般有以下的原因:
头文件中声明的函数,没有在源文件代码中实现没有包含实现该函数的源文件在项目工程中,对于不在项目工程的文件,不会进行编译,相当于其中的函数没有被实现使用到了库中函数而没有为编译器指明动态/静态链接库lib文件,导致链接器无法从库中找到函数函数在源文件中被static修饰,被static修饰的函数链接性为内部,只能在本文件内使用,在外部使用就会出现链接错误
另外的情况。包含了头文件,但是只要没有使用其中的函数,就不会出现链接错误。因为链接器不需要处理此函数
但是,不使用为什么要包含头文件呢?
参考:
LNK2019的常见情况及解决方法



