VC: ConvertBSTRToString使用时可能出现无法链接(Lind 2001)的问题
来源:互联网 发布:lync for mac 2016 编辑:程序博客网 时间:2024/06/05 18:23
VC: ConvertBSTRToString使用时可能出现无法链接(Lind 2001)的问题
http://www.cnblogs.com/liangbin/articles/2106189.html
无法链接,必是lib静态库的问题。
该函数引用时的一般写法:
#include <comutil.h> //_com_util::ConvertBSTRToString
#pragma comment(lib, "comsupp.lib") //_com_util::ConvertBSTRToString
strTxt1 = _com_util::ConvertBSTRToString(bstrTxt1); //调用例子
#pragma comment(lib, "comsupp.lib") //_com_util::ConvertBSTRToString
strTxt1 = _com_util::ConvertBSTRToString(bstrTxt1); //调用例子
经查阅MSDN文档,发现该函数在Unicode编码中存在相应的Unicode版本的lib文件,而如果此时链接MultiChar多字节版本的lib文件,则会出现错误。
于是,可以使用下面的代码替换:
#include <comutil.h> //_com_util::ConvertBSTRToString
#ifdef _UNICODE
#pragma comment(lib, "comsuppw.lib") //_com_util::ConvertBSTRToString
#else
#pragma comment(lib, "comsupp.lib") //_com_util::ConvertBSTRToString
#endif
#ifdef _UNICODE
#pragma comment(lib, "comsuppw.lib") //_com_util::ConvertBSTRToString
#else
#pragma comment(lib, "comsupp.lib") //_com_util::ConvertBSTRToString
#endif
经验总结:遇到函数出问题先搞清楚函数的使用方法。如果在 MSDN 上有解释,先看 MSDN 上的解释,不要一开始就上搜索网站搜索。
- VC: ConvertBSTRToString使用时可能出现无法链接(Lind 2001)的问题
- 使用mybatis时可能出现的问题
- ConvertBSTRToString()使用出现内存泄漏
- 使用exec启动其他进程时可能出现的问题
- 链表使用时可能出现的问题
- 使用JSONKit可能出现的问题
- 使用FlexPaper可能出现的一些问题
- 使用动态库时出现,error LNK2019 无法解析的外部符号可能的解决方法。
- 应聘Java时可能出现的问题
- Java笔试时可能出现的问题
- mysql安装时可能出现的问题
- VC中使用Matlab Engine出现"无法找到libeng.dll"的问题
- VC下编译和链接常出现的问题汇总
- VC下编译和链接常出现的问题汇总
- VC下编译和链接常出现的问题汇总
- ATL 中调用ConvertBSTRToString报错无法解析的外部符号 "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)
- 使用大量checkbox的时候可能出现的小问题
- MySQL在VC中使用时出现的问题
- /var/lib/mysql/mysql.sock错误的解决办法
- C++虚函数virtual function
- vb 读取xml文件
- Web服务(Web service)基础及相关术语简介
- 学习C#程序集
- VC: ConvertBSTRToString使用时可能出现无法链接(Lind 2001)的问题
- C#实现快速排序
- 集合
- User Instance=true
- 显卡参数详解
- 【android开发】 修改控件Spinner内容的字体大小 颜色等属性
- 使用Net::SSH下载文件并转换文件格式
- 图片控制
- 新生婴儿起名的七个步骤