我们有一个很大的C++项目,它被编译为本机非托管代码.我们需要使用托管代码中的一个功能,但我们不想在/ clr中编译整个项目.
所以我创建了一个DLL,有一个名为B的ref类,它在导出的本机类A中公开.问题是我得到一个C1190:由于vcclr.h包含,托管目标代码需要'/ clr'选项.
我想知道是否有办法创建某种在非托管方法中具有托管代码的接口.
这是我的代码:
#pragma once
#include "EX_Port.h"
#include <vcclr.h>
ref class B;
class EX_API A
{
public:
A();
int DeviceCount();
private:
gcroot<B^> _device;
};
Run Code Online (Sandbox Code Playgroud)
我设法通过gcnew在cpp中使用它来工作.但是我有一个本地对象,而我想在全球范围内拥有它.我刚刚开始进行CLI编程,所以我可能不了解一些做法.
谢谢