我见过:
使用这些问题,我试图将一个BSTR转换为一个char*
#include "comutil.h"
STDMETHODIMP CServer::Initialise(BSTR strCmdFilePath,
VARIANT_BOOL bDiagErr, VARIANT_BOOL bProcErr, BSTR* RESULT)
{
char *p = _com_util::ConvertBSTRToString(strCmdFilePath);
...
}但我得到了:
错误1错误LNK2019:未解析的外部符号"char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)“(?ConvertBSTRToString@_com_util@@YGPADPA_W@Z)在"public: virtual __stdcall CServer::Initialise(wchar_t *,short,wchar_t * *)”(?Initialise@CServer@@UAGJPA_WFFPAPA_W@Z)中引用
我为什么要犯这个错误?
发布于 2014-04-10 11:30:33
您的项目没有链接所需的库。它是用于发行版构建的comsuppw.lib,用于调试构建的comsuppwd.lib。请注意,您始终可以在MSDN文章中看到所需的库。这篇文章的末尾有注解。"Header“告诉您需要包含什么,"Lib”告诉您需要链接什么。
对于这个库,有一种更简单的方法,最好的方法是嵌入链接器指令,因此它是自动的,包括包含# .h文件的注释。修正:
#include <comdef.h> // Added
#include <comutil.h>https://stackoverflow.com/questions/22986315
复制相似问题