我创建了 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 ...