Qt 6.2.4 MinGW部署程序在Win7 64位无法运行:入口点未找到
解决MinGW部署Qt 6.2.4在Windows 7 64位下的api-ms-win-core-synch-l1-2-0.dll入口点缺失问题
调整Qt编译的系统兼容宏:Qt 6.2.4默认MinGW构建会调用仅Windows 8及以上支持的API,需强制指定兼容Windows 7。
- 若使用qmake,在项目.pro文件中添加:
QMAKE_CXXFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 QMAKE_CFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 - 若使用CMake,在CMakeLists.txt中添加:
add_compile_definitions(WINVER=0x0601 _WIN32_WINNT=0x0601)
添加后重新编译整个项目。
- 若使用qmake,在项目.pro文件中添加:
替换兼容版系统DLL:Windows 7自带的
api-ms-win-core-synch-l1-2-0.dll版本缺少Qt调用的新入口点,需从Windows 7的KB2999226补丁包中提取64位版本的该DLL,复制到应用程序根目录,覆盖之前的文件。检查MinGW编译目标版本:确保使用的MinGW-w64编译时指定了Windows 7目标。编译时手动添加参数:
-mwindows -D_WIN32_WINNT=0x0601重新执行部署:使用
windeployqt重新部署应用,加上--no-compiler-runtime参数避免与系统运行库冲突,之后再将提取的兼容版DLL放入程序目录。
内容的提问来源于stack exchange,提问作者Zamb.S
相关产品推荐
相关产品推荐

