问题
封装了一个dll,在A项目里测试好了没问题,然后装到B项目用就有问题了,仔细排查发现里面的string传进去变成了乱码。
过程
听说是编码不同导致的,把A和B的字符集都设置成一样的unicode,再试还是不行。
又听说是编译配置不一样就会这样,确实,我的dll是release的,现在在B项目里用的是debug,于是我去又生成了一个debug版的dll,配好,成了。
总结
1.看看字符集一不一样。
2.看看其他设置的区别。
3.看看release和debug
4.实在不行就不用了,改用char*吧