C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V-6ren">
gpt4 book ai didi

c++ - Midl 编译器错误 : 2214

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:05 24 4
gpt4 key购买 nike

我的项目(OCX)有问题:当我尝试在 Release模式下编译时,编译停止并显示以下消息:

"1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(1178,5): error MSB6006: "midl.exe" exited with code 2214."

我找不到任何对调试错误有用的信息,因为它不是错误代码,而是退出代码。我可以做什么?它在开始解析“oaidl.acf”后立即停止。

最佳答案

我在尝试编译在 VS2013 中升级的 OCX 项目时遇到了同样的错误。我必须打开 .odl 文件并将 #include 语句移动到库 block 中。

之前:

#include <olectl.h>
#include <idispids.h>

[ uuid(...), version(1.0), ... ]
library ...
{
importlib(STDOLE_TLB);
importlib(STDTYPE_TLB);

之后:

[ uuid(...), version(1.0), ... ]
library ...
{
#include <olectl.h>
#include <idispids.h>
importlib(STDOLE_TLB);
importlib(STDTYPE_TLB);

您也可以通过从 MIDL 设置中删除 /mktyplib203 开关来解决您的问题。

Project->Properties->Configuration Properties->MIDL->General->MkTypLib Compatible: Yes (/mktyplib203)

这与这个问题非常相似:FIX: Platform SDK Causes MIDL to Throw MIDL2311 Error

MIDL2311 : statements outside library block are illegal in mktyplib compatibility mode.

关于c++ - Midl 编译器错误 : 2214,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22906475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com