Win8应用程序CLI库集成问题

时间:2014-12-17 17:22:41

标签: visual-c++ windows-runtime c++-cli c++-cx mixed-mode

我有一个纯粹的原生(c ++)的Win8应用程序,我已经使用了一个使用托管代码AFAIK编写的库。没有问题,我创建了对象,并使用带有引用计数指针等的C ++ / CX来解决它们。

我需要添加一个新库,我像以前一样引用它,但是当我声明并反对并尝试解决它时,我得到:

error C3624: 'System::Object': use of this type requires a reference to assembly 'mscorlib'

使用#using <mscorlib.dll>显然不是解决方案,因为 WinRT不支持#use of managed assembly

当我查找我在对象浏览器中使用的类的定义时,我发现它继承自 System :: Object 之前的库有一个继承自 Platform :: Object 的类,该类对C ++ / CX有效。

我已经联系了我正在尝试使用的当前库的开发人员,但是他们需要花很多时间来回应。

我可以解决这个问题吗?有哪些可行的行动方案?

UPD:我可以要求开发人员重建C ++ / CX库吗?

1 个答案:

答案 0 :(得分:0)

除非C#库是PCL(便携式类库),否则我认为这不会在一般情况下起作用。如果它利用WinRT .NET客户端配置文件中没有的任何内容,它将无法正常工作。

如果 是PCL,您可以做的就是编写一个C#Windows运行时组件,它本身具有对该第三方库的引用并包含必要的功能。然后从C ++ / Cx应用程序中引用该C#Windows运行时组件。