QT编译时出现LINK : fatal error LNK1158: 无法运行 ‘rc.exe’错误

125 篇文章 ¥59.90 ¥99.00
当在Visual Studio中编译QT应用时遇到'LINK : fatal error LNK1158: 无法运行 'rc.exe'',通常是缺少Windows SDK或环境变量配置不正确。解决方法包括检查rc.exe的存在,安装或修复Windows SDK,尤其是生成工具组件,并添加Windows SDK的bin和bin/x64目录到系统环境变量。

QT编译时出现LINK : fatal error LNK1158: 无法运行 ‘rc.exe’错误

如果你在使用Visual Studio中编译Qt应用程序并且遇到了如上所述的错误,则不要慌张。这是由于QT在编译过程中需要使用资源编译器(rc.exe),而你的系统未能找到该编译器所致。

解决方法如下:

  1. 确认rc.exe是否存在

打开“Visual Studio命令提示符”,输入rc并按Enter键。如果提示“‘rc’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”则说明rc.exe不存在。此时需要安装Windows SDK,并确保在安装过程中勾选了“Windows SDK组件->Windows SDK生成工具”选项。如果已经安装了Windows SDK但仍然无法找到rc.exe,则需要手动添加环境变量。

  1. 添加环境变量

将Windows SDK目录中bin和bin/x64目录添加到系统环境变量中。具体步骤如下:

a. 打开“控制面板->系统和安全->系统”

b. 点击“高级系统设置”

c. 点击“环境变量”

d. 在系统变量列表中找到“Path”变量,双击打开并添加Windows SDK目录中bin和bin/x64目录的路径,用分号分隔。

  1. 重启Visual Studio

完成以上步骤之后,重新启动Visual Studio并进行编译。如果问题依然存在,请尝试重新安装Windows SDK,并确保选择了生成工具组件。

>------ 生成 已启动: 项目: CMakeLists,配置: Debug ------ [1/1] Linking CXX executable MiniDraw.exe FAILED: MiniDraw.exe C:\WINDOWS\system32\cmd.exe /C "cd . && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\MiniDraw.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\mt.exe --manifests -- C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1440~1.338\bin\Hostx64\x64\link.exe /nologo CMakeFiles\MiniDraw.dir\MiniDraw_autogen\mocs_compilation.cpp.obj /out:MiniDraw.exe /implib:MiniDraw.lib /pdb:MiniDraw.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:windows D:\qt\6.9.3\msvc2022_64\lib\Qt6Widgetsd.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6Guid.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6Cored.lib mpr.lib userenv.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6EntryPointd.lib shell32.lib d3d11.lib dxgi.lib dxguid.lib d3d12.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." LINK Pass 1: command "C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1440~1.338\bin\Hostx64\x64\link.exe /nologo CMakeFiles\MiniDraw.dir\MiniDraw_autogen\mocs_compilation.cpp.obj /out:MiniDraw.exe /implib:MiniDraw.lib /pdb:MiniDraw.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:windows D:\qt\6.9.3\msvc2022_64\lib\Qt6Widgetsd.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6Guid.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6Cored.lib mpr.lib userenv.lib D:\qt\6.9.3\msvc2022_64\lib\Qt6EntryPointd.lib shell32.lib d3d11.lib dxgi.lib dxguid.lib d3d12.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\MiniDraw.dir/intermediate.manifest CMakeFiles\MiniDraw.dir/manifest.res" failed (exit code 1120) with the following output: D:\ProgramTrain\MiniDraw\out\build\debug\Qt6EntryPointd.lib(qtentrypoint_win.cpp.obj) : error LNK2019: 无法解析的外部符号 main,函数 "int __cdecl qtEntryPoint(void)" (?qtEntryPoint@@YAHXZ) 中引用了该符号 D:\ProgramTrain\MiniDraw\out\build\debug\MiniDraw.exe : fatal error LNK1120: 1 个无法解析的外部命令 ninja: build stopped: subcommand failed.
最新发布
10-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值