VC函数类型不对造成的链接错误排除
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC函数类型不对造成的链接错误排除
自定义的API函数类型,可能在使用过程中不断修改和变化,而有时修改不完全极易造成不易排查的错误,以下是从一个真实的案例中抽取出来的,供大家分析,引以为戒!
编译环境:Vistual Studio 2010
1、创建两个工程,一个MFC Test Exe工程,一个myDll的MFC扩展DLL。
2、添加myFunc测试函数
3、添加myDll.h头文件,供其他模块使用
4、增加def定义,提供导出
5、在Test测试工程中,直接添加引用,省去复制文件的步骤,强制保持一致性
6、在Test工程中添加对myFunc的调用
7、编译整个解决方案,可以看到无错误,系统正常
8、myFunc API增加一个参数
9、单独编译myDLL模块,没有任何警告或错误
注意:此时没有修改myDll.h的myFunc声明
10、重新编译Test,提示连接错误
结论,在修改不完全时,底层模块可以通过编译,但上层的集成模块会提示出错。
遇到此类连接错误的,除了常规的检查外,还需要逐个核对函数的声明和定义。