我有一个visual studio 2005 c ++项目(使用QT框架)。我想通过COM引用和使用我拥有的.net 4库。我知道如果我在2005年有一个.net项目(.net 2或.net 3.5),我就不能引用.net 4库,但我很想知道在c ++项目中尝试使用它是否有任何问题通过COM。我现在还没有能够创建和测试概念验证应用程序,所以我想知道是否有其他人尝试过这个或者对此有所了解。
由于
答案 0 :(得分:2)
使用COM是加载CLR的好方法,因此您可以执行托管代码。但是你必须在C ++代码中使用COM编程技术。使用“添加引用”不起作用,这是一个仅在使用C ++ / CLI语言编写托管代码时才可用的选项。
一种好方法是在C ++代码中使用#import directive。这可以加载一个类型库并自动生成智能指针类型和方法包装器,您可以直接在C ++代码中调用它们。使用Tlbexp.exe实用程序或Regasm.exe / tlb命令行选项生成所需的类型库。 QT也有内置的COM支持,我对此不太了解。