编译软件时,经常会遇到“无法解析的外部指令”的错误,错误类型往往不太一样,针对编程过程中遇到的原因以及解决方法进行总结,如下:
1 同项目
1.1 函数有定义,但是没有实现
检查函数是否有实现,如果没有则添加具体的实现
2 跨项目-引用第三方库
2.1 未包含第三方库
包含第三方库,有两种方式:
(1)右键项目属性-->链接器-->输入-->附加依赖项
(2)在代码中导入lib文件
2.2 已包含第三方库,但是函数未导出
在函数和类前添加关键字:
或
(1)如果已导入库文件,并且函数已导出,但是函数没有实现
检查函数是否有实现,如果没有则添加具体的实现
(2)以上情况均未出现,但是仍出现无法解析的外部指令,则可能函数导出无效
检查导出函数前标识是否在指定条件下有效
ZEXPORT标识符只有在定义了ZLIB_WINAPI时才有效,因此在导入lib文件时,还需要添加ZLIB_WINAPI宏定义,相当于在项目中所有文件前#define ZLIB_WINAPI:
右键属性-->C/C++-->预处理器-->预处理器定义