すでに尋ねられたことを繰り返さないことを願っています..私は周りを検索しましたが、似たようなものは見つかりませんでした.
いくつかのクラスとインターフェイスを公開するネイティブ SDK を開発しました。
ここで、この SDK を使用する混合モード DLL を実装する必要があります。
ただし、次のコードはコンパイルされません。
WrapperClass.h
#pragma once
#include <vcclr.h>
#using <mscorlib.dll>
class WrapperClass{
public:
WrapperClass();
private:
gcroot<Client^> m_ManagedObj;
};
NativeClass.h
#pragma once
#include "stdafx.h"
#include "NativeSDK.h"
#include "WrapperClass.h"
class Native : public INativeSDK {
public:
// ... code ...
private:
WrapperClass ManagedObj;
}
設定は次のとおりです。
Project Setting : No Support for CLR
NativeClass.cpp : No Support for CLR
WrapperClass.cpp : /clr
コンパイラ エラーは次のとおりです。
..\include\vcclr.h(16): fatal error C1190: The managed code require an option '/clr'
NativeClass は /clr でコンパイルされていないためです。
#pragma managed/unmanaged ディレクティブを使用する必要があると思いますが、その方法がわかりません。
誰かが私にいくつかの提案をしてもらえますか?