在EVC中如何正确的使用_variant_t ?

dfpgb 2008-01-04 11:00:32
在VC中只要如下就OK了

#include <comdef.h>
_variant_t test;




可是在EVC如果是建立WIN32程序就会报如下错误:

Deleting intermediate files and output files for project 't - Win32 (WCE ARMV4) Debug'.
--------------------Configuration: t - Win32 (WCE ARMV4) Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
t.cpp
Linking...
t.obj : error LNK2019: unresolved external symbol VariantInit referenced in function "public: __cdecl _variant_t::_variant_t(void)" (??0_variant_t@@QAA@XZ)
t.obj : error LNK2019: unresolved external symbol VariantClear referenced in function "public: __cdecl _variant_t::~_variant_t(void)" (??1_variant_t@@QAA@XZ)
t.obj : error LNK2019: unresolved external symbol "void __cdecl _com_issue_error(long)" (?_com_issue_error@@YAXJ@Z) referenced in function "void __cdecl _com_util::CheckError(long)" (?CheckError@_com_util@@YAXJ@Z)
ARMV4Dbg/t.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

t.exe - 4 error(s), 0 warning(s)

在EVC如果是建立MFC程序就会报如下错误:

Deleting intermediate files and output files for project 'tt - Win32 (WCE ARMV4) Debug'.
--------------------Configuration: tt - Win32 (WCE ARMV4) Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
tt.cpp
ttDlg.cpp
Generating Code...
Linking...
ttDlg.obj : error LNK2019: unresolved external symbol "void __cdecl _com_issue_error(long)" (?_com_issue_error@@YAXJ@Z) referenced in function "void __cdecl _com_util::CheckError(long)" (?CheckError@_com_util@@YAXJ@Z)
ARMV4Dbg/tt.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

tt.exe - 2 error(s), 0 warning(s)



...全文
190 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqk_sc 2009-06-23
  • 打赏
  • 举报
回复
明白了,我的EVC安好后居然没有comsupp.lib!!!
lqk_sc 2009-06-23
  • 打赏
  • 举报
回复
老大,我和你遇到同样的问题,但我加入comsupp.lib后,
提示LINK : fatal error LNK1181: cannot open input file 'comsupp.lib'
我不用comsupp.lib

void __stdcall _com_issue_error(HRESULT m_hr)
{
TCHAR pcszError[1024];

_stprintf(pcszError, TEXT("_com_issue_error(%ld)\n"), m_hr);
OutputDebugString(pcszError);
}
得倒是能编译通过,请教一下是什么原因啊
可以给我邮件吗,lqk_sc@163.com
万分感谢!!!
dfpgb 2008-01-07
  • 打赏
  • 举报
回复
解决了~ 要在Project->Settings->Link->Library中加入comsupp.lib

谢谢老斩热心~:)
锄禾:那样岂不似乎有点"旁门左道"~?呵呵~本人比较保守~哈哈~:)
shmily1280 2008-01-07
  • 打赏
  • 举报
回复
void __stdcall _com_issue_error(HRESULT m_hr)
{
TCHAR pcszError[1024];

_stprintf(pcszError, TEXT("_com_issue_error(%ld)\n"), m_hr);
OutputDebugString(pcszError);
}
加这个东西试试?
yashi 2008-01-05
  • 打赏
  • 举报
回复
更准确的说,是在wince下不支持。
yashi 2008-01-05
  • 打赏
  • 举报
回复
VC下的东西,并不是百分百在EVC下都有支持。你说的这个类,在evc下很可能不支持。

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧