2

私は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 ...
4

0 に答える 0