我试图将.net dll导入到C++项目中。c++代码包含以下代码:
#include "stdafx.h"
#import "RemoteAgentLibs.tlb" named_guids raw_interfaces_only
int main() {
HRESULT init = CoInitialize( NULL );
if (init != S_OK) return 1;
ImportedNamespace::_ClassNamePtr myclass;
myclass = new ImportedNamespace::_ClassNamePtr("ImportedNamespace.ClassName");
myclass->MyMeyhod();
}一切都很好,直到我检查我的.NET项目的属性中的“签名程序集”。在.NET项目中,我得到警告:
警告3“到dll的路径”不包含任何可以注销COM互操作的类型。 警告3“到dll的路径”不包含任何可为COM互操作注册的类型。
在C++项目中,我得到了错误:
错误C2039:'MyMethod‘:不是'ImportedNamespace::_ClassNamePtr’的成员
有人能告诉我为什么进口强名称签名dlls有问题吗?或者是否有其他方法将我的dll导入c++项目并将dll添加到GAC中?
发布于 2014-01-23 10:07:11
你看起来像大口吗?我认为这是一个很好的解决方案--你只需要为你的需要写一个包装器.
https://stackoverflow.com/questions/21304386
复制相似问题