【问题标题】:Visual C++ unit testing errors when including required code包含所需代码时的 Visual C++ 单元测试错误
【发布时间】:2015-12-20 17:54:02
【问题描述】:

我是 C++ 新手,我在 Visual Studio 2008 中有一个 Visual C++ 项目(我担心会卡住),我正在尝试让单元测试工作。我已经获得了我的代码,并且我已经设置了我的新测试项目,但是每当我包含我想要测试的代码的头文件时,我都会收到 138 个编译错误。

#include "stdafx.h"
//#include "../ProjName/ProjName.h"

using namespace System;
using namespace System::Text;
using namespace System::Collections::Generic;
using namespace Microsoft::VisualStudio::TestTools::UnitTesting;


namespace TestProjName
{
    ...various code created by the wizard...

        [TestMethod]
        void Test1()
        {
            Assert::AreEqual(0,1);
        };
    };

我的代码编译(和运行)正常,直到我的 ProjName 的#include 被取消注释。取消注释时,我会从 VS 库中收到很多错误,如下所示:

1>c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vadefs.h(89) : error C4956: 'va_list *' : this type is not verifiable

,

1>c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h(2027) : error C4956: 'threadlocaleinfostruct *' : this type is not verifiable

1>c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\wchar.h(235) : error C2337: 'SA_Post' : attribute not found

以前有人遇到过这种情况吗?有人会建议我忽略的(可能很简单)吗?

【问题讨论】:

    标签: c++ visual-studio unit-testing visual-c++ visual-studio-2008


    【解决方案1】:

    经过一段时间的谷歌搜索找到了我自己的解决方案。我的测试项目使用了 /clr:safe 公共语言运行时支持。将它切换到 /clr 为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2019-09-02
      相关资源
      最近更新 更多