gpt4 book ai didi

qt - 什么(设置 PATH=...;%PATH :)=^)%) mean in a Windows shell script, 以及如何在 Qt5 nmake 构建的上下文中克服此行的失败?

转载 作者:行者123 更新时间:2023-12-04 17:36:52 25 4
gpt4 key购买 nike

obstacle-ridden process 的上下文中试图 build Qt5 (32-bit) with VS 2012 ,我遇到了另一个构建错误。
这是:

(set PATH=C:\Users\daniel347x\Desktop\Backup\__Dan_Root\qt5\qtbase\lib;%PATH:)=^)%) &C:\Users\daniel347x\Desktop\Backup__Dan_Root\qt5\qtbase\bin\uic.exedialogs\qfiledialog.ui -o ui_qfiledialog.h

NMAKE : fatal error U1077:'(set' : return code '0xc0000135'

Stop.


我找不到有关 (set PATH=...;%PATH:)=^)%) 的任何信息当我执行详细的 Google/StackOverflow 搜索时出现故障问题(返回错误代码 0xc0000135)。
请注意 nmake进行了很长时间(超过 1 小时),愉快地切换目录、运行中间 .exe 以及编译和链接代码文件。
我在运行 nmake (以及在 32 位 Visual Studio 2012 工具命令提示符下运行 configure );据我所知,我所有的 path变量设置正确(它们包括 32 位 Perl 和 32 位 Python 的路径,尽管我认为这与此处无关)。
我重新启动了计算机,并以管理员权限运行了 VS 2012 工具命令提示符(以防出现权限错误),尝试运行 nmake ,并发生同样的错误。
然后我试图找出错误究竟是什么。那时,我被这个命令行语句的语法难住了,它显然是在 Makefile 触发的 shell 脚本中执行的:
(set PATH=...;%PATH:)=^)%)
^^^^^^ // What do the symbols :)=^)% mean?
我看不懂符号 :)=^)% 在这个脚本的上下文中。
有人能告诉我这些符号在 Windows shell 脚本的上下文中意味着什么(正在 nmake Makefile 的上下文中执行(使用 VS 2012 构建 32 位 Qt5))?
作为一个附加的可选问题,我该怎么做才能克服这个错误并继续构建 Qt5 而不会因为这个错误阻止进度?

最佳答案

(set PATH=...;%PATH:)=^)%)是字符串替换。在 help set 中查找“环境变量替换”命令输出以获取更多信息。

该脚本在 PATH 变量之前添加,但在替换过程中它会转义右括号,因此整行的格式正确。例如,%PATH% 可能包含一个子字符串“Program Files (x86)”,它会破坏 set扩展时的语法。 ^括号前的符号只是一个批量转义符号。

二、(...) & ...grouping operator允许在同一行上写入多个命令。我不知道脚本作者为什么决定将这两个命令放在同一行上,但它确实有助于掩盖错误。

第三,虽然NMAKE报告了'(set'命令的错误,快速检查证明返回码(%ERRORLEVEL%)是由组的最后一个命令设置的,所以没有使用谷歌搜索0xc0000135错误SET 和 NMAKE 命令。

错误的实际来源是“uic.exe”,它位于:

C:\Users\daniel347x\Desktop\Backup__Dan_Root\qt5\qtbase\bin\uic.exe

关于错误,0xc0000135 - 这是 The application failed to initialize properly错误。我的猜测是“uic.exe”是用不兼容的工具链/SDK 构建的,或者需要一些缺少的 dll。

附言另一种解决方案:类似问题 has been solved通过使用 jom 而不是 nmake。

关于qt - 什么(设置 PATH=...;%PATH :)=^)%) mean in a Windows shell script, 以及如何在 Qt5 nmake 构建的上下文中克服此行的失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15953310/

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