私はC++DLLプロジェクトを作成しました。このdllには、ほとんどがネイティブのc ++コードが含まれていますが、C ++で記述され、いくつかの.NETタイプを使用する混合クラスが1つあります。このクラスはヘッダーファイルで宣言され、.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 ...