首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows环境下使用UnitTest++?

如何在Windows环境下使用UnitTest++?
EN

Stack Overflow用户
提问于 2013-09-24 07:13:41
回答 2查看 208关注 0票数 0

UnitTest++库直接声明:“支持以下平台:

代码语言:javascript
复制
Win32
Linux
Mac OS X"

但是,有没有人在Win CE环境下尝试过呢?

我得到了与Win API相关的各种编译器错误。例如:

BOOL GetProcessAffinityMask( HANDLE hProcess,PDWORD_PTR lpProcessAffinityMask,PDWORD_PTR lpSystemAffinityMask );

DWORD_PTR SetThreadAffinityMask( HANDLE hThread,DWORD_PTR dwThreadAffinityMask );

等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-25 10:54:09

在Win32中使用的所有(或大部分) UnitTest++ API都与计时器相关,如果我们使用预处理器指令忽略这些API(对于Win CE环境),它将被成功编译。

现在,在执行测试时,我们遇到了另一个问题,即printf函数没有在WinCE终端上提供输出。因此,我们用OutputDebugString()替换了所有printf函数,并且能够在终端(如PuTTY )上执行测试和查看结果。然而,时间测试将不再有效,这不是我们现在的要求。

票数 0
EN

Stack Overflow用户

发布于 2013-09-24 07:34:07

那么,您尝试使用Windows环境编译UnitTest++吗?

Windows与Win32不同。它只支持的一个子集。因此,UnitTest++支持Win32的语句并不意味着它支持Windows。由于您提到的两个API函数仅在Window桌面API (请参阅MSDN)上可用,所以UnitTest++的编译失败。

所以你可能有一些选择:

  • 修改UnitTest++以支持Windows (可能不可能)
  • 使用另一个显式支持Windows的单元测试框架
  • 编译Windows的UnitTest++并在那里运行您的UnitTest

我希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18975194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档