error LNK2019: 无法解析的外部符号的解决方法

C++工程编译时出现如下链接错误提示:



原因一:只是在.h里面声明了某个方法,没有在cpp里面实现;

 

原因二:在工程中加入了有相同名字的文件或者类;

 

原因三:如果此类为静态库中定义的类,可能没有添加头文件目录和文件引用的lib静态库路径;

添加方法:

  添加工程的头文件目录:

    项目->属性->配置属性->C/C++->常规->附加包含目录:加上头文件的存放目录;

  添加文件引用的lib静态库路径:

    项目->属性->配置属性->链接器->常规->附加库目录:加上lib文件的存放目录;

  添加工程引用的lib文件名:

    项目->属性->配置属性->链接器->输入->附加依赖项:加上lib文件名。

 

原因四:如果此类为动态库中定义的类,可能没有添加该动态库.dll文件到工程中;

添加方法:

  直接将用到的.dll放到生成的.exe所在的文件夹下(项目->属性->配置属性->常规->输出目录,可以看到.exe生成在哪个目录下)

 

原因五:预处理器中WIN32和WIN64产生冲突。

解决方法:

  项目->属性->配置属性->C/C++->预处理器,找到预处理器定义,如果其中有WIN32和WIN64这两个的话,就会引发冲突,那么根据项目的情况,是win32位程序还是win64位程序,去掉一个即可,比如下图中的工程是win32,那么只需留下win32,删掉win64,即可编译成功~



(两次卡在了这个问题,都是因为原因五,很罕见的冲突...记录一下防止再卡住...)



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值