首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c++/cli调用本机c++方法

c++/cli调用本机c++方法
EN

Stack Overflow用户
提问于 2012-05-19 01:58:06
回答 1查看 530关注 0票数 1

我已经写了一个c++/cli程序,它调用我的本机c++函数,该函数将结构指针作为参数。所以这就像我用c++/cli为我的原生c++编写了一个包装器,这样我就可以将它暴露给c# wcf程序(它充当另一个c++客户端的服务器)。

现在,当我编译我的c++/cli程序时,我没有得到任何错误,它被编译并生成了这个c++/cli的dll,但是当我查看输出窗口时,我发现链接失败了(这并没有影响编译)。下面是我在输出文件中看到的消息。

代码语言:javascript
运行
复制
1>Linking...
1>Embedding manifest...
1>Caching metadata information for c:\windows\system32\msxml6.dll...
1>Could not cache metadata for c:\windows\system32\msxml6.dll: reflection failed.

所以我想知道这条消息是什么意思,如果我在c# wcf程序中使用这个c++/cli dll,这是否会影响我的c# wcf程序,以及我如何摆脱这条消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-19 05:22:18

我非常确定MSXML6.DLL是一个本机DLL,因此它没有任何托管元数据。

我用.NET反射器验证了这一点:

代码语言:javascript
运行
复制
// Assembly msxml6

  Location: C:\Windows\System32\msxml6.dll
  Name: msxml6, 'C:\Windows\System32\msxml6.dll' is not a .NET module.

确保在链接器->输入->“附加依赖项”项目选项中列出其导入库,而不是像引用.NET程序集那样尝试引用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10657528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档