2

我创建了 C++ DLL 项目,这个 dll 主要包含本机 C++ 代码,但它有 1 个用 C++ 编写并使用一些 .NET 类型的混合类。此类在头文件中声明并在 .cpp 中实现

我可以从所有 *.cpp 文件中使用它,但是当我尝试在某些 c++ 头文件中声明对 C++/CLI 类的引用时,我收到大量关于项目不支持 CLR 的错误(项目设置中的 CLR 支持,因为 /clr 已设置),看起来头文件不支持指向托管类的链接。

这适用于 .CPP 完美,但从 .H 使用时失败并出现错误

#include "NativeBitmap.h"
using namespace Native;

NativeBitmap.H:

#pragma once
namespace Native
{
    using namespace System;
    using namespace System::Drawing;
    using namespace System::Collections::Generic;
    using namespace System::Runtime::InteropServices;

    public ref class NativeBitmap
    {
    }
}

NativeBitmap.CPP:

#include "stdafx.h"
#include "NativeBitmap.h"

using Native::NativeBitmap;

using namespace System;
using namespace System::Drawing;
using namespace System::Collections::Generic;
using namespace System::Runtime::InteropServices;

void NativeBitmap::Create(...)
{
...
}

and so on ...
4

0 回答 0