1、遇到一个问题,使用dll导出的一个类D一直报“无法解析的外部符号” ,头文件和源文件都在项目里,成员函数也都有实现。最后发现这个类D继承了基类A,A里面有虚函数,但是D里面没有重写,所以外部程序无法找到这些虚函数的实现。解决方法是将A也设置为导出类。
2、C++使用C语言编写的动态库,要使用extern "c",包含入函数或者头文件等;
3、用depends查看dll导出的函数,可能确实没有导出,但是代码没有问题,确实已经是导出函数,这时候考虑重新编译库,修改一下相关头文件以便保证.lib文件进行了更新;
4、检查静态库的路径;
5、utf8和unicode的编码问题;