Qt工程使用vs打开,调试、运行都没有问题,但直接点击exe却无法运行

Qt系列文章目录

前言

Qt工程使用vs打开,调试、运行都没有问题,但直接点击exe却无法运行,而且工程中所需要的dll全部包含

一、定位原因

exe是否缺少依赖的dll

1. 首先进入调试模式,加载dll

在这里插入图片描述
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\CallCartDll.exe”。已加载符号。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\KernelBase.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\vcruntime140d.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\msvcp140d.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\ucrtbased.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\vcruntime140_1d.dll”。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\CartDll.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libmmd.dll”。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\msvcr110.dll”。
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libmmd.dll”
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libifportmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libifcoremd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libifportmd.dll”
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\libifcoremd.dll”
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\svml_dispmd.dll”。
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\debug\svml_dispmd.dll”
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\libmmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\libifportmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\libifcoremd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\libifportmd.dll”
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\libifcoremd.dll”
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\svml_dispmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已卸载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\svml_dispmd.dll”
“CallCartDll.exe”(Win32): 已加载“C:\Users\ASUS\anaconda3\Library\bin\libifportmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\user32.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\win32u.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\gdi32.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Users\ASUS\anaconda3\Library\bin\libifcoremd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\gdi32full.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\imagehlp.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\msvcp_win.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\ucrtbase.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\advapi32.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\msvcrt.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\sechost.dll”。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\rpcrt4.dll”。
“CallCartDll.exe”(Win32): 已加载“E:\osg\work\CARTDLL_demo_20220520\CallCartDll\svml_dispmd.dll”。模块已生成,不包含符号。
“CallCartDll.exe”(Win32): 已加载“C:\Windows\System32\imm32.dll”。

int main()
{
    
    
       HINSTANCE hlib=LoadLibrary(TEXT("CartDll.dll"));
       if(!hlib)
       {
    
    
           cout<<"open dll error!"<<endl;
       }

       cartfun cart1=(cartfun)GetProcAddress(hlib,"cart");

2. 根据vs2019调试信息依赖的dll如上所示

我把相关dll全部复制到CallCartDll.exe 同级目录下,点击exe,还是无法正常运行,但在工程中调试、运行都没有问题

在这里插入图片描述

3. 查看调试信息

查看调试信息,发现CartDll…dll加载成功了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aoxuestudy/article/details/125106429