我们有一个很大的C++项目,它被编译为本机非托管代码。我们需要使用托管代码中的功能,但我们不想在/ clr中编译整个项目。为非托管使用包装托管代码
所以我做了一个DLL,有一个名为B的ref类,它在导出的本机类A中公开。问题是我得到一个C1190:托管的目标代码需要'/ clr'选项,因为vcclr.h包括。
我想知道是否有一种方法来创建某种类型的接口,该接口将在非托管方法中托管代码。
这里是我的代码:
#pragma once
#include "EX_Port.h"
#include <vcclr.h>
ref class B;
class EX_API A
{
public:
A();
int DeviceCount();
private:
gcroot<B^> _device;
};
我设法让一个cpp中gcnew的B级工作。但是,我有一个本地对象,而我想在全球范围内使用它。我刚开始做CLI编程,所以我可能不知道一些做法。
感谢
使托管类具有非托管接口的C++/cli库 – 2012-03-30 14:21:58