狸花苏苏 2024-12-24 09:27 采纳率: 77.8%
浏览 55
已结题

无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll

无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll

在给Qt项目构建realese版本,生成安装包的过程

img

执行windeployqt flashcard.exe

img

点击flashcard.exe 报错

img

  • 写回答

1条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2024-12-24 10:31
    关注
    让【道友老李】来帮你解答,本回答参考通义千问大模型编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    ### 问题描述 在构建Qt项目的Release版本并生成安装包的过程中,运行`windeployqt flashcard.exe`后,点击生成的`flashcard.exe`时出现错误:“无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll”。

    问题分析

    这个错误通常是由于以下几个原因之一引起的: 1. 编译器和链接器不匹配:使用的编译器和链接器版本不一致。 2. 依赖库缺失或版本不匹配:某些依赖库可能缺失或版本不正确。 3. MinGW版本问题:使用了不同版本的MinGW编译器,导致二进制文件不兼容。

    解决步骤

    1. 检查编译器和链接器版本

    确保你的项目使用的是与Qt库相同版本的编译器和链接器。例如,如果你使用的是MinGW 8.1.0,那么Qt库也应该是用同一版本的MinGW编译的。

    2. 确认依赖库

    确保所有依赖库都已正确部署,并且版本匹配。可以使用Dependency Walker工具来检查flashcard.exe的依赖关系。

    3. 重新配置Qt环境

    如果上述步骤没有解决问题,可以尝试重新配置Qt环境。以下是具体步骤:

    1. 删除旧的构建目录:删除项目的构建目录(如build-FlashCard-Desktop_Qt_5_15_2_MinGW_64_bit-Release)。
    2. 清理Qt缓存:运行以下命令清理Qt缓存:
      qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
      make clean
      
    3. 重新构建项目:重新构建项目:
      qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
      make
      

    4. 使用正确的windeployqt命令

    确保使用正确的windeployqt命令来部署依赖库。假设你的可执行文件是flashcard.exe,运行以下命令:

    windeployqt --release --qmldir <path_to_qml_files> flashcard.exe
    

    其中<path_to_qml_files>是你的QML文件所在的目录。

    示例代码

    假设你的项目结构如下:

    FlashCard/
    ├── FlashCard.pro
    ├── main.cpp
    ├── qml/
    │   └── main.qml
    └── src/
        └── mainwindow.cpp
    
    1. 删除旧的构建目录

      rm -rf build-FlashCard-Desktop_Qt_5_15_2_MinGW_64_bit-Release
      
    2. 清理Qt缓存

      qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
      make clean
      
    3. 重新构建项目

      qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
      make
      
    4. 使用windeployqt部署依赖库

      windeployqt --release --qmldir qml/ release/flashcard.exe
      

    总结

    通过以上步骤,你应该能够解决“无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll”的问题。如果问题仍然存在,请检查你的开发环境配置,确保所有工具和库都是最新版本,并且版本之间相互兼容。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月24日