1

使用 Visual Studio 2015 使用catch.hpp单元测试编译测试代码。我需要编写代码来与串行端口交互,并且需要与 Widnows API 交互并且需要包含windows.h

但是编译器会产生以下错误消息的抱怨。

严重性代码描述项目文件行抑制状态
错误 C2888 'Catch::Colour::Colour(Catch::Colour::Code)': 符号不能在命名空间 'Catch' NMCR_Testing c:\users\ahajmousa\google drive\cto 中定义projects\new mc receiver\software\testing\nmcr_testing\nmcr_testing\catch.hpp 7796
错误 C2888 'Catch::Colour::Colour(const Catch::Colour &)':符号不能在命名空间 'Catch' NMCR_Testing c 中定义: \users\ahajmousa\google drive\cto projects\new mc .... ......

代码:

#include "stdafx.h"
#include <windows.h>

#define CATCH_CONFIG_MAIN
#include "catch.hpp"

TEST_CASE("first Test")
{
    REQUIRE(1 == 1);
}

TEST_CASE("2nd  Test")
{
    REQUIRE(1 == 0);
}

如果我不包含 widnows.h,错误就会消失。有没有办法让 catch.hpp 编译而不会出现这些错误。

4

0 回答 0