使用_com_util::ConvertBSTRToString(BSTR)的奇怪问题(Release link报错)
新年哈,我用ATL Wizard生成一个project,增加一个ATL Object,再加入一个函数,函数中用到了ConvertBSTRToString:
#include <comutil.h>
#pragma comment(lib, "comsupp.lib")
STDMETHODIMP CMyClass::MyFunction(BSTR sData, long *len)
{
LPSTR lpszData = _com_util::ConvertBSTRToString(sData);
....
}
Debug编译没问题,但是无论Release MiniSize还是Release MiniDependence编译都会报告讨厌的LNK2001错误:
Linking...
Creating library ReleaseMinDependency/MyTest.lib and object ReleaseMinDependency/MyTest.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseMinDependency/MyTest.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
我把LPSTR lpszData = _com_util::ConvertBSTRToString(sData);注释掉就没问题。 我试过用Wizard生成一个最小的test程序都会这样,Debug没问题。