今天把以前做的一个DLL文件用静态链接方式链接到程序里去,最后编译时总是提示“无法解析的外部符号”这个错误,我仔细检查了引入库的目录设置,lib文件的导入设置,却没发现任何问题。正在郁闷时,我想起了我的DLL文件是使用的Unicode 字符集,而应用程序用的是多字节字符集,于是尝试着将其也改为Unicode 字符集,然后编译,通过了。
这个问题以前还从来没注意过,现在记下来以备以后忘记了再看看。
顺带提一下,如果用的是动态链接,则不存在这个问题,不过如果DLL与APP使用不同的字符集的话,在使用函数时,就需要转换字符了。