链接两个CLR项目时出现错误C2011('类'类型重定义)

时间:2017-11-22 07:11:24

标签: visual-studio c++-cli clr

问题

我有两个CLR项目正在编译两个DLL: Foo Bar 。在这两个项目中,我定义了两个类FooClassBarClass(参见下面的代码)

问题是,当我在我的Bar项目中使用#include “..\Foo\Foo.h”时,我收到以下错误:

  

错误C2011:'Foo :: FooClass':'class'类型重新定义

我该如何解决这个问题?

非常感谢

代码

在Foo项目(CLR库)

foo.h中

#pragma once

using namespace System;

namespace Foo {

    public ref class FooClass
    {
    };
}

Foo.cpp中

#include “Foo.h”

在Bar项目(CLR库)中引用Foo项目。

Bar.h

#pragma once

// Here I include the other class
#include “..\Foo\Foo.h”

using namespace System;

namespace Bar {

    public ref class BarClass
    {
    };
}

Bar.cpp

#include “Bar.h”

1 个答案:

答案 0 :(得分:0)

解决方案在这里: https://stackoverflow.com/a/2978058/778374

CLR中不需要#include