Qt 4.8.0 Win 7 VS2010静态编译问题

本文记录了一次编译Qt项目时遇到的MIDL语法错误,详细描述了错误发生的具体情况及解决过程。最终确定是由于环境变量中包含空格所导致的问题,并给出了相应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译一个多小时后出现下面的错误:
Processing qt-everywhere-opensource-src-4.8.0\tools\activeqt\t
estcon\testcon.idl
testcon.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.idl

ocidl.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oleidl.id
l
oleidl.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.id
l
objidl.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\unknwn.id
l
unknwn.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\wtypes.id
l
wtypes.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\basetsd.h

basetsd.h
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\guiddef.h

guiddef.h
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.idl

oaidl.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\servprov.
idl
servprov.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.id
l
urlmon.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\msxml.idl

msxml.idl
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf

oaidl.acf
Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.acf

ocidl.acf
命令语法不正确。
NMAKE : fatal error U1077: “midl”: 返回代码“0x1”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

经分析,是环境变量设置的CURR_DIR和TARGETDIR值中含有空格导致了此问题。

通过下面的命令删除环境变量即可。


set CURR_DIR=
set TARGETDIR=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值