在项目中遇到一个问题:一个dll中有带字符串(std::string)参数的导出函数,结果在使用这个dll的时候,传进来的字符串参数是乱码,以为是字符编码不正确,在属性里查看了,发现都是一样的,怀疑是std::string的问题,于是改为char *作为参数,结果发现传进去的指针也是乱的!那就奇怪了,于是把两项目的属性一项一项地比较,再一项一项地设置,终于,给我发现了原来“c/c++->代码生成”里的“运行库”设置不一样时就会出现上述异常。
总结一下这种问题的解决办法:
1、字符编码是否一样?
2、运行库是否一样?
如果还没有解决,那就打开两项目的属性去对比吧!