如何在 Windows CE 环境中使用 UnitTest++
How to use UnitTest++ on Windows CE Environment?
UnitTest++库直接声明: "支持以下平台:
Win32
Linux
Mac OS X"
但是,有没有人在Win CE环境中尝试过?
我收到与 Win API 相关的各种编译器错误,例如
BOOL GetProcessAffinityMask( 处理过程, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask);
DWORD_PTR SetThreadAffinityMask( 手柄线程, DWORD_PTR dwThreadAffinityMask);
等。
所以你尝试使用Windows CE环境编译UnitTest++?
Windows CE与Win32不同。它仅支持 Windows Desktop API 的一个子集。因此,UnitTest++支持Win32的说法并不意味着它支持Windows CE。由于您提到的两个API函数仅在Window XP桌面API上可用(请参阅MSDN),因此UnitTest++的编译失败。
因此,您可能有一些选择:
- 修改UnitTest++以支持Windows CE(可能不可能)
- 使用另一个显式
支持 Windows CE 的单元测试框架- 为Windows桌面编译UnitTest++并在那里运行你的UnitTest
我希望这有所帮助。
UnitTest++ 中使用的所有(或大部分)Win32 API 都与计时器相关,如果我们使用预处理器指令(对于 Win CE 环境)忽略这些 API,它就会成功编译。
现在在执行测试时,我们遇到了另一个问题,即 printf 函数无法在 WinCE 终端上给出输出。因此,我们将所有printf函数替换为OutputDebugString(),并且能够在PuTTY等终端上执行测试并查看结果。然而,时序测试将不再起作用,这不是我们现在的要求。
- 枚举环境变量的惯用C++14/C++17方法
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 创建一个包含 c++ 默认值的环境文件
- 定义C++新的环境变量并在 bat 文件中使用它
- 用于在并发环境中访问 MMIO 的软件模式
- docker 构建失败:无法设置环境变量
- 如何在不传递命令行参数的情况下在 c++ 中设置环境变量
- C++环境变量
- 在编译时为运行时设置环境变量
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- 访问 PlatformIO 中的外部环境变量
- 在 Azure DevOps 构建管道中使用英特尔C++编译器为 Linux 环境构建C++代码
- 如何注册枚举类型到QJSEngine,以便在脚本环境中使用?
- WSL 看不到环境变量
- 启动 dll 时 C# 环境堆栈溢出
- "C.UTF-8" C++ Windows 上的语言环境?
- 如何正确取消析构函数中的 Boost deadline_timer(在多线程环境中)?
- 有没有办法为macOS上的C++程序指定自定义语言环境目录
- 如何在 Windows CE 环境中使用 UnitTest++