com - ImportLib 在 MIDL 中引用完整路径
问题描述
我发现使用这种语法,我会得到一个编译错误:
importlib("MSADDNDR.dll");
给出的错误是:
error MIDL2337 : unsatisfied forward declaration : _IDTExtensibility2 [ Coclass '_Extension' ]
但这是一个谎言,有点。查看前面的输出,我们看到:
warning MIDL2015 : failed to load tlb in importlib: : MSADDNDR.dll
因此,如果我们更改属性以包含完整路径:
importlib("C:\Program Files (x86)\Common Files\Designer\MSADDNDR.dll");
它现在可以正确编译......但是......这是引用一个 32 位 DLL。假设我想交叉编译?所以我/amd64
为 MIDL 指定了选项。这仍然编译成功。我找不到任何可能表明使用可能错误的位数 DLL 的完整路径importlib
会导致问题的文档。
如果存在潜在问题,或者是否有更好的方法来避免嵌入完整路径,其他人是否可以确认或否认?
有趣的是,当我在 中加载生成的.tlb
文件时oleview
,完整路径不再存在;这表明这不是问题,但我想确保确实如此。
解决方案
推荐阅读
- c# - Unity 2D 中的自上而下拍摄无法如我所愿
- javascript - 如何使用 columntocheck 命令检查多个列?
- go - 包级集合
- spring - Vue js axios 请求 Spring Boot API 身份验证
- elasticsearch - 将嵌套的数据存储在 Elastic Search 中以便在 Kibana 中进行分析是否更好?
- spring - Spring Data Redis 事务支持
- html - Bootstrap 将表单修复到页面底部
- azure - 数据工厂自托管集成运行时非活动节点
- javascript - ADF数据警告回答后如何强制回滚
- selenium-webdriver - Robot 中的 if 语句