`

COM组件 C4772 错误解决

 
阅读更多

#import tlb 文件如果存在继承式的依赖,编译时会导致C4772 错误,有时发现即使正确引用了,仍然是C4772,此时可以尝试把所有的tlb文件放到工程目录下。也许可以解决。

#import referenced a type from a missing type library; '__missing_type__' used as a placeholder

A type library was referenced with the #import directive. However, the type library contained a reference to another type library that was not referenced with #import . This other .tlb file was not found by the compiler.

This warning is, by default, issued as an error. C4772 can not be suppressed with /W0.

Given the following type libraries on disk created from the following two file (compiled with midl.exe):

/* c4772a.idl */
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12b")]
library C4772aLib
{
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c100")]
enum E_C4772a
{
one, two, three
};
};
/* c4772b.idl */
// C4772a.tlb is available when c4772b.tlb is built
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12d")]
library C4772bLib
{
importlib ("c4772a.tlb");
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12e")]
struct S_C4772b
{
enum E_C4772a e;
};
};

The following sample generates C4772:

// C4772.cpp
// assumes that C4772a.tlb is not available to the compiler
// #import "C4772a.tlb"
#import "C4772b.tlb" // C4772 uncomment previous line to resolve
// and make sure c4772a.tlb is on disk
分享到:
评论

相关推荐

    K3客户端远程组件注册“组件kdsvrmgr无法正常工作”解决办法

    - **错误:** “组件无法正常工作!” - **具体描述:** 在尝试创建中间层对象时失败,提示需要特定的对象。此外,还会出现操作被用户中止的消息。 #### 可能的原因 1. **中间层未安装该组件。** 2. **组件在组件管理...

    检索com类工厂中组件注册失败的解决方法

    当用户尝试通过编程方式调用Office组件(例如Microsoft Excel)时,可能会遇到错误提示:“检索COM类工厂中CLSID为{某GUID}的组件注册失败”。这个问题通常意味着系统无法成功找到并加载指定的COM组件,导致程序运行...

    解决打开"添加/删除"windows组件出现的错误

    本文将深入探讨如何解决"添加/删除"Windows组件时出现的错误,以及如何避免不必要的系统文件删除。 首先,当用户遇到无法正常打开"添加/删除"Windows组件的问题时,可能是以下几种原因造成的: 1. **DLL文件缺失**...

    VS2019添加引用出错:对COM组件的调用返回了错误HRESULT E_FAIL(未能完成操作未指定的错误)

    概述:本文主要介绍了VS2019添加引用出错:对COM组件的调用返回了错误HRESULT E_FAIL(未能完成操作未指定的错误)的解决方法。该错误通常发生在使用VS2019开发环境时,添加COM组件引用时出现的错误。本文将详细介绍...

    C语言常见错误代码释义

    标题所提及的“C语言常见错误代码释义”指的是在使用C语言编程时,编译器或运行时可能会遇到的一系列错误提示。这些错误代码是为了帮助开发者快速定位问题所在,它们通常与语法、内存管理、类型识别、文件操作等方面...

    解决sapi不能再win7上运行。报组件未注册的错误。两种解决方案

    1. 找到SAPI相关的DLL文件,通常位于`C:\Windows\System32`目录下,如`SpVoice.dll`。 2. 打开命令提示符窗口,右键点击“命令提示符”并选择“以管理员身份运行”。 3. 在命令提示符中,使用`regsvr32`命令来重新...

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件问题整理

    问题 1:错误:0x80040154 或 8000401a 错误信息:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误:80040154 没有注册类(异常来自 HRESULT:0x80040154(REGDB_...

    常见Windows组件缺失问题及解决办法

    本文将针对常见的Windows组件缺失问题及其解决办法进行详细阐述,帮助用户快速定位并解决问题。 ### 一、Visual C++运行库缺失 Visual C++运行库是许多基于C++开发的应用程序所依赖的组件,其不同版本包括2005、...

    com组件学习小结

    在MATCOM与COM组件技术的对比中,MATCOM作为一种早期的MATLAB与C/C++的接口技术,存在功能受限的问题,尤其是对于MATLAB工具箱的支持不足。相比之下,COM组件技术虽然在使用门槛上相对较高,但它提供了更广泛的功能...

    检索 COM 类工厂中 CLSID 为 {96749377-3391-11D2-9EE3-00C04F797396} 的组件失败,没有注册类问题分析和解决办法

    标题中的“检索 COM 类工厂中 CLSID 为 {96749377-3391-11D2-9EE3-00C04F797396} 的组件失败,没有注册类问题分析和解决办法”是一个常见的错误提示,通常在尝试使用COM组件(Component Object Model)时遇到。...

    检索COM类工厂中CLSID为 {00024500-0000-0000-C000-000000000046}的组件失败的解决方案

    工作过程中,需要在后台C#中操作Excel...错误信息:检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件 因是出现以下错误:80070005 拒绝访问。 (异常来自HRESULT:0x80070005 (E_ACCESSDENIED))

    Excel 权限错误和应用程序8000401A错误解决办法

    通过对Excel COM组件的DCOM配置以及对出现应用程序错误8000401A的应用程序进行正确的身份验证配置,可以在很大程度上解决在Web环境中调用Excel COM组件时出现的权限错误和应用程序错误问题。此外,还可以参考更多的...

    西门子PLC以太网通讯组件

    西门子PLC以太网通讯组件是工业自动化领域中常用的一种通信技术,它使得西门子S7系列PLC(可编程逻辑控制器)能够通过以太网进行高速、高效的数据交换。S7协议是西门子专为PLC通信设计的协议,支持多种型号的PLC,...

    office2003 Pro11.msi错误解决办法

    在这种情况下,用户可能会看到一个错误消息,提示找不到"Pro11.msi",导致Office 2003的某些组件无法正常工作。 "Pro11.msi"是Office 2003安装源的一部分,包含了Professional版本的核心组件。解决这个问题的一种...

    Photoshop无法复制剪贴中文解决组件

    本篇文章将详细解析这个问题的原因,并提供解决方案——“TypeSupport”组件,帮助用户有效解决此问题。 首先,了解问题的根源至关重要。当Photoshop遇到无法复制或粘贴中文文本的故障时,通常是由于软件与系统之间...

    print2flash的80040154错误解决办法

    Print2Flash 的 80040154 错误解决办法 Print2Flash 是一种功能强大且易于使用的 Flash 转换工具,能够将各种文件格式转换为 Flash 格式。但是,在使用 Print2Flash 时,可能会出现 80040154 错误,这是由于 COM ...

    如何用VS2005 ATL 创建 COM 组件

    实际开发中,可能需要根据项目需求进一步定制COM组件的行为,如实现事件接口、处理错误、支持多线程等。理解COM的原理和ATL的机制对于高效地利用这些工具至关重要。在编写代码时,遵循COM编程的最佳实践,例如正确...

    佳能错误代码表_大家对照解决

    佳能打印机错误代码是用于帮助用户识别和解决打印机在运行过程中遇到的问题的一种方式。下面将对部分常见的佳能打印机错误代码进行详细解释: 1. **5100错误**:墨车超时错误,通常意味着打印头或墨车在预定时间内...

    1000052错误解决方法

    1. **下载DLL文件**:从提供的压缩包“1000052错误解决方法”中提取这4个DLL文件。确保从可靠来源获取这些文件,以防止引入潜在的恶意软件。 2. **确定程序目录**:找出报错的应用程序或系统的具体程序目录。这通常...

Global site tag (gtag.js) - Google Analytics