Skip to content

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

@baizhouhaoyue

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小写字母的目录名进行打包

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