UnitTest ++库直接指出: “支持以下平台:
Win32
Linux
Mac OS X"
但是,是否有人在Win CE环境中尝试过它?
我收到与Win API相关的各种编译器错误。 e.g。
BOOL GetProcessAffinityMask( 处理hProcess, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask );
DWORD_PTR SetThreadAffinityMask( 处理hThread, DWORD_PTR dwThreadAffinityMask );
等
答案 0 :(得分:1)
所以你尝试使用Windows CE环境编译UnitTest ++?
Windows CE与Win32不同。它仅支持Windows桌面API的一个子集。所以UnitTest ++支持Win32的声明并不意味着它支持Windows CE。由于您提到的两个API函数仅在Window XP桌面API上可用(请参阅MSDN),因此UnitTest ++的编译失败。
所以你可能有一些选择:
- 修改UnitTest ++以支持Windows CE(可能不可能)
- 使用另一个明确支持Windows CE的单元测试框架
- 为Windows桌面编译UnitTest ++并在那里运行你的UnitTest
我希望有所帮助。
答案 1 :(得分:0)
UnitTest ++中使用的所有(或大多数)Win32 API与计时器相关,如果我们使用预处理程序指令(对于Win CE环境)忽略这些API,则会成功编译。
现在,在执行测试时,我们遇到了另一个问题,即printf函数在WinCE终端上没有输出。所以我们用OutputDebugString()替换了所有printf函数,并且能够执行测试并在终端上查看结果,如PuTTY。然而,时间测试不再适用,这对我们来说不是现在的要求。