Qt在运行代码时,构建报错,将所有路径改成中文后,同样报错,求解答?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt在运行代码时,构建报错,将所有路径改成中文后,同样报错,求解答?相关的知识,希望对你有一定的参考价值。

Cannot find file: C:\Users\dell\Desktop\即时通信系统\speak\speak.pro
23:16:22: 进程"C:\Qt\Qt5.4.1\5.4\mingw491_32\bin\qmake.exe"退出,退出代码 2 。
Error while building/deploying project speak (kit: Desktop Qt 5.4.1 MinGW 32bit)
When executing step "qmake"

参考技术A qt项目路径中不能有中文字符 参考技术B qt程序文件路径最好不要有中文和空格,容易出问题

检测 qt 是不是在运行时运行调试构建

【中文标题】检测 qt 是不是在运行时运行调试构建【英文标题】:Detect if qt is running a debug build at runtime检测 qt 是否在运行时运行调试构建 【发布时间】:2012-07-27 16:26:50 【问题描述】:

如何在运行时从 QObject 中检测它所链接的 Qt 是调试版本还是发布版本?

我知道QT_NO_DEBUG macro,但这在构建 Qt 时已解决。

这很有用的示例 1:我有一个充当崩溃处理程序的插件,提供回溯。如果 qt 调试符号可用,我只希望这个插件尝试完成所有这些工作。

示例 2:我有一个用 pyqt 编写的命令行参数解析器。它想打印程序帮助。它如何从 pyqt 中确定 QApplication 是否支持 -sync 开关。如果我有关于构建类型的信息,我可以轻松地从程序理解的参数列表中添加或删除 -sync。

【问题讨论】:

您想知道 Qt 库是调试版还是发布版,或者您想知道您的应用程序是在调试版还是发布版中编译? 【参考方案1】:

如果您只是想测试您是在运行您的应用程序的调试版本还是发布版本,请使用QT_DEBUG

#ifdef QT_DEBUG
  qDebug() << "Running a debug build";
#else
  qDebug() << "Running a release build";
#endif

虽然这显然使用了预处理器,而不是在运行时检查。对于您为什么指定要在运行时进行此检查,我有点困惑,因为只能在编译之前做出是否使用调试功能的决定...

我不知道在 Qt4 中有任何简单的方法来检查您要链接的 Qt 库是否已在启用调试的情况下构建(尽管我确实注意到这在 Qt5 中看起来正在发生变化,并添加了 @987654321 @)。

【讨论】:

对问题进行了澄清。 接受您的回答,不是为了宏,而是为了 QLibraryInfo 的花絮。看来我一直在问的许多问题都用 Qt5 解决了,包括这个问题。我承认 Qt4 没有合适的解决方案。【参考方案2】:

接受的答案中的两个提示都是正确的。 Qt5 on macOS 有一个副作用。默认情况下,框架使用其库的发布版本,此方法的结果将始终为“假”值。

【讨论】:

以上是关于Qt在运行代码时,构建报错,将所有路径改成中文后,同样报错,求解答?的主要内容,如果未能解决你的问题,请参考以下文章

Qt creator 编译错误 :cannot find file .pro qt

在 Mac OSX 上重定位后修补 Qt 二进制文件的脚本

Qt Creator新安装后运行一个程序后,出现错误:Error while building/deploying project dict-qt (kit: Desktop Qt 5.10.0 Mi

qt如何导出成网页

PowerDesigner安装报错,pdcore16.dll拒绝访问该如何解决?

检测 qt 是不是在运行时运行调试构建