- Qt系列文章目录
- 前言
- 二、解决办法
- 总结
加载dll失败,使用Dependencies.exe查看,感觉也没有缺失相关dll
在使用Qt中调用别人写的dll,一直加载失败。使用windeployqt.exe命令打包也总是失败
PS E:osgworkCARTDLL_demo_20220520CallCartDll> D:QtQt5.12.95.12.9msvc2017_64binwindeployqt.exe CallCartDll.exe
“CallCartDll.exe” does not exist.
PS E:osgworkCARTDLL_demo_20220520CallCartDll> cd E:osgworkCARTDLL_demo_20220520CallCartDlldebug
PS E:osgworkCARTDLL_demo_20220520CallCartDlldebug> D:QtQt5.12.95.12.9msvc2017_64binwindeployqt.exe CallCartDll.exe
E:osgworkCARTDLL_demo_20220520CallCartDlldebugCallCartDll.exe 64 bit, debug executable
E:osgworkCARTDLL_demo_20220520CallCartDlldebugCallCartDll.exe does not seem to be a Qt executable.
PS E:osgworkCARTDLL_demo_20220520CallCartDlldebug>
1.安装Anaconda3 版本-2021.05-Windows-x86_64
2.设置Anaconda3的环境变量
#include#include #include "windows.h" using namespace std; #pragma comment(lib,"CartDll.lib") typedef double (*cartfun)(int *itype,int *katmod,int *ikaerosol,int *ikheight,float *iseah,float *ivis,float *irh, float *wmintemp,float *wmaxtemp,float *avertrans,float *pathradiance, float *totalradiance); int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); HINSTANCE hlib=LoadLibrary(TEXT("CartDll.dll")); if(!hlib) { cout<<"open dll error!"< cout<<"open dll sucess!"< cout<<"load CART FUN add error!"< cout<<"load CART FUN add sucess!"< 总结 原来别人写的dll中有用到python相关依赖包,所以要把Anaconda3的路径配置到环境变量中



