问题背景:
在大型项目中,第三方库或者其他模块库文件之间引用是很常见的操作。但有时候会遇到vs正常配置第三方库后,发现编译报出无法解析外部符号的编译错误。检查vs的项目配置(附件包含目录、附加库目录、附加依赖项目)都配置正常。
问题原因:
不同库之间引用式常见导致无法解析的原因有,版本不同导致的无法解析,例如你本地库是32位,而第三方库是64位的,这也会导致无法解析。
今天要讲的是另外一种比较难发现的原因,字符集不同导致的无法解析问题。因为不同vs版本创建项目或者dll库文件的时候默认字符集不同,本人用的vs2010创建项目的时候默认字符集是Unicode,如果发现其他配置和引用都正确就是死活报无法解析编译错误,这时候可以留意下这要引用的库跟当前项目的字符集是否是一致的。