Skip to content

linuxdeployqt fails to package Qt applications when directory name contains camelCase #642

Description

@baizhouhaoyue

Description:
linuxdeployqt 在包含驼峰命名(camelCase)的目录中运行时会完全失败,产生大量"不是动态可执行文件"错误和编码问题。而在纯英文目录中运行则完全正常。

Reproduction Steps:

  1. 创建一个驼峰命名的目录,例如 wuxiAccsee (拼音+驼峰)
  2. 将 Qt 可执行文件放入该目录
  3. 运行 linuxdeployqt executable_name -appimage
  4. 观察大量错误输出

Expected Result:
无论目录名是什么,都应该成功创建 AppImage 文件。

Actual Result:
ERROR: findDependencyInfo: "\t\xE4\xB8\x8D\xE6\x98\xAF\xE5\x8A\xA8\xE6\x80\x81\xE5\x8F\xAF\xE6\x89\xA7\xE8\xA1\x8C\xE6\x96\x87\xE4\xBB\xB6\n"
ERROR: ldd outputLine: "libzkfinger10.so => not found"
ERROR: for binary: "/home/dw/Front_server/FrontServer/libs/libzkfp.so"

Environment:
linuxdeployqt 版本/version: 10
Qt 版本/version: 5.12.8
操作系统/OS: Linux (Ubuntu-based)
架构/Architecture: aarch64

Additional Notes:
目录名对比测试:

  • wuxiAccsee (驼峰命名) → 失败
  • qwer (纯英文) → 成功

问题根因分析:

  • 可能是在文件名解析或字符串匹配逻辑中对驼峰命名处理不当
  • 导致扫描依赖时出现编码错误或路径解析失败

临时解决方案:
使用纯ASCII小写字母的目录名进行打包

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions