- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在vs 2008中遇到以下错误:
midl : error MIDL9008 : internal compiler problem - See documentation for suggestions on how to find a workaround.
midl: Assertion failed: ( rc < _MAX_DIR ) && ( rc != 0 ), file d:\longhorn\com\rpc\midl\front\filehndl.cxx, line 821
%PROGRAMFILES%\Microsoft SDKs\Windows\v7.1\Include\Guiddef.h
标记的行上的文件
<-----
中的以下代码引起的:
#ifndef GUID_DEFINED
#define GUID_DEFINED
#if defined(__midl)
typedef struct {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
byte Data4[ 8 ];
} GUID; <------
#else
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
} GUID;
#endif
#endif
重命名或删除“GUID”将解决内部编译器问题,但是当然会导致许多其他问题。使用的代码和midl.exe可执行文件(来自WinSDK v6.0)与另一台计算机上的相同,不会发生此错误。有谁比重新安装Windows更好的主意?
最佳答案
我的midl*
文件在安装了所有子组件的Windows 8.1 SDK
之后,或者在更新Visual Studio 2015时在某些时候“损坏”了,我想,因为我没有确切的时间记录它们何时被覆盖。
从那时起,我一直在编译项目前得到MIDL9008
,在此之前还不错。尝试构建某个项目时,Midlc.exe
甚至崩溃了。
解决方案是从以下位置替换midl*
文件:
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
(because that's where midlc.exe and midl.exe were starting from, verified by using procmon)
midl*
文件的文件大小都不同,尽管报告的版本号相同!这明确表明更换它们可能会解决问题。
(midl.exe, midlc.exe, midlrt.exe, midlrtmd.dll)
解决了此问题。很高兴我不必重新安装Windows即可解决此烦人且令人沮丧的问题!
关于visual-studio-2008 - midl : error MIDL9008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590202/
如何使用 MIDL 为 x86 和 x64 生成代码? 我在 Visual Studio 2010 中创建了一个 IDL 文件,当我在 x86 模式下编译产品时,然后在 x64 中编译产品时,我必须“
我用 linux 工具编译的 idl 文件很好,但是当我尝试使用 midl 编译时我得到一个错误 error MIDL2025 : syntax error : expecting a declara
我正在尝试继承和扩展 MIDL 中定义的结构。我使用了与接口(interface)继承相同的语法,即 typedef struct stDBIBinVarDataEx { float x;
我在自动化遗留产品的构建过程中遇到了困难... 我有一个在 VC++ 6.0 中编译的 .idl 文件,使用 midl 生成一个 .tlb、.h 和 .c 文件,其中包含要添加的手动构建步骤: str
我的项目(OCX)有问题:当我尝试在 Release模式下编译时,编译停止并显示以下消息: "1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V
MIDL 方法声明中没有常量引用吗???? 例如。 [id(1), helpstring("My Method")] HRESULT MyMethod( [in] IID & const rc
当我从另一个 Proxy Server 项目中定义的接口(interface)派生所述接口(interface)时,为什么我不能在 idl 文件中定义一个接口(interface),然后让 CoCla
我正在编写自定义 ATL ActiveX 组件,但我遇到了这个小问题:Visual Studio 坚持认为 *.idl 文件中定义的每个函数都必须具有 HRESULT 返回类型,即使我想要一个 ULO
我有一个简单的 IDL 文件,它只包含一个 enum。其中一个标识符是 cy。 [ uuid(2642345F-F2AB-3600-8926-26E823800902), version(1.
我有一个 COM dll,它由使用 COM Inter-op 的 .NET 应用程序使用。在其中一个 CoClasses 中,有一个名为 IT6TrackData 的接口(interface),它有一
我正在使用 IDL 文件开发一些 COM 接口(interface)。一些接口(interface)方法返回 HRESULT,但我检查了 MIDL language reference on MSDN
哪个MIDL数据类型等于VB6的Boolean类型? 最佳答案 根据 MSDN Boolean在 MIDL 中可用。 关于VB6 的 bool 数据类型在 MIDL 中等效,我们在Stack Over
我在vs 2008中遇到以下错误: midl : error MIDL9008 : internal compiler problem - See documentation for suggesti
如问题所述,MIDL Compiler 的默认路径是什么?在 Visual Studio 2013(或以前的版本)中,对于那些想要从命令行手动运行它来构建 IDL 文件的人来说? 最佳答案 这取决于您
ID2D1RenderTarget 是在d2d1.h 中定义的接口(interface)。我想像这样在我的 IDL 界面中使用它: interface IXXX : IUnknown { HR
我们确实有一个项目使用 MIDL 工具来创建特定的头文件/iid 和代理文件。这些文件使用调用 nmake 的构建后步骤进行编译并与项目的其余部分链接。 IDL 生成的文件可以使用预编译头文件吗?如何
我有一个简单的 .IDL 文件 (iface.idl),它描述了一个基于 IUnknown 的接口(interface): import "unknwn.idl"; [ uuid(80DFDD
我打算将 MIDL 编译器与 CMAKE 一起使用,但无法从 CmakeList 调用 MIDL 编译器 这是我用来实现目标的命令 add_custom_command( OUTPUT ${CMAKE
我有一堆对象继承了从 idl 文件生成的抽象接口(interface)。使用这些接口(interface)的每个对象都包含相同的文件 interfaces.h,其中包含映射到 idl 接口(inter
我正在尝试用 midl 编译我的 arith.idl 文件。我正在运行 Windows 7 专业版。 这是我在 powershell 提示符下启动的命令: PS> 'C:\Program Files
我是一名优秀的程序员,十分优秀!