打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
将dll路径 添加到环境变量中,但未能调用DLL的问题

源代码如下:

  1. //将live_player路径添加到系统path环境变量,则sdk的所有dll都可以正常加载了
  2. std::wstring sdk_path = QPath::GetAppPath() + L"live_player\\";
  3. if (!shared::tools::AddPathToEnvironmentVariable(sdk_path))
  4. {
  5. MessageBox(NULL, L"未找到sdk目录", L"提示", MB_OK);
  6. return 0;
  7. }

 

在别的机子上,运行时,是没问题的

但在我的机子上运行时,DLL调用失败,

 

 

经调试,最后确认,添加环境变量时有问题,可能是和之前配置的环境变量有冲突

 

源环境变量配置如下:

将dll路径添加到最后面

  1. bool AddPathToEnvironmentVariable(const std::wstring& path)
  2. {
  3. if (!nbase::FilePathIsExist(path, true)) //目录不存在
  4. return false;

  5. TCHAR path_envirom[4096] = { 0 };
  6. GetEnvironmentVariableW(L"path", path_envirom, 4096);
  7. std::wstring new_envirom = path_envirom;
  8. new_envirom.append(L";");
  9. new_envirom.append(path);
  10. return !!SetEnvironmentVariableW(L"path", new_envirom.c_str());
  11. }

将其改为,将DLL路径添加到最前面后,  就正常了

  1. bool AddPathToEnvironmentVariable(const std::wstring& path)
  2. {
  3. if (!nbase::FilePathIsExist(path, true)) //目录不存在
  4. return false;

  5. TCHAR path_envirom[4096] = { 0 };
  6. GetEnvironmentVariableW(L"path", path_envirom, 4096);
  7. std::wstring new_envirom = path;
  8. new_envirom.append(L";");
  9. new_envirom.append(path_envirom);

  10. return !!SetEnvironmentVariableW(L"path", new_envirom.c_str());
  11. }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
取当前用户的AppData路径
AVD(android virtual device )路径设置
Android环境变量的设置
PANIC: Could not open: C:\ 2.ini完美解决
CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
Windows系统下Android开发环境搭建指南(SDK2.0)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服