无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll
在给Qt项目构建realese版本,生成安装包的过程

执行windeployqt flashcard.exe

点击flashcard.exe 报错

无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll
在给Qt项目构建realese版本,生成安装包的过程

执行windeployqt flashcard.exe

点击flashcard.exe 报错

关注让【道友老李】来帮你解答,本回答参考通义千问大模型编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!### 问题描述 在构建Qt项目的Release版本并生成安装包的过程中,运行`windeployqt flashcard.exe`后,点击生成的`flashcard.exe`时出现错误:“无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll”。
这个错误通常是由于以下几个原因之一引起的: 1. 编译器和链接器不匹配:使用的编译器和链接器版本不一致。 2. 依赖库缺失或版本不匹配:某些依赖库可能缺失或版本不正确。 3. MinGW版本问题:使用了不同版本的MinGW编译器,导致二进制文件不兼容。
确保你的项目使用的是与Qt库相同版本的编译器和链接器。例如,如果你使用的是MinGW 8.1.0,那么Qt库也应该是用同一版本的MinGW编译的。
确保所有依赖库都已正确部署,并且版本匹配。可以使用Dependency Walker工具来检查flashcard.exe的依赖关系。
如果上述步骤没有解决问题,可以尝试重新配置Qt环境。以下是具体步骤:
build-FlashCard-Desktop_Qt_5_15_2_MinGW_64_bit-Release)。qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
make clean
qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
make
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
删除旧的构建目录:
rm -rf build-FlashCard-Desktop_Qt_5_15_2_MinGW_64_bit-Release
清理Qt缓存:
qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
make clean
重新构建项目:
qmake -spec win32-g++ "CONFIG+=release" FlashCard.pro
make
使用windeployqt部署依赖库:
windeployqt --release --qmldir qml/ release/flashcard.exe
通过以上步骤,你应该能够解决“无法定位程序输入点_divmoddi4于动态连接库 Qt5Gui.dll”的问题。如果问题仍然存在,请检查你的开发环境配置,确保所有工具和库都是最新版本,并且版本之间相互兼容。