当前位置: 首页 > news >正文

河南省建设银行网站百度一下搜索网页

河南省建设银行网站,百度一下搜索网页,wordpress页脚页脚插件,网站后台代码之前项目中发现的问题,记录下解决方案1. 问题背景OVVRNTool项目中,底层图像基本操作功能由DLL库函数提供,上层基于DLL封装了两个应用CMD和GUI,然后通过Qt打包分发;发布是直接采用绿色免安装的方式打包,具体…

之前项目中发现的问题,记录下解决方案

1. 问题背景

OVVRNTool项目中,底层图像基本操作功能由DLL库函数提供,上层基于DLL封装了两个应用CMD和GUI,然后通过Qt打包分发;

发布是直接采用绿色免安装的方式打包,具体使用release中的exe进行windeployqt的方式将依赖库等打包进一个文件夹;

由于CMD的特殊性,命令行工具用户只希望出现一个单独的exe,而不想要一个文件夹,包含一大堆库和文件,所以采用enigma virtual box工具将文件夹打包成单个exe;

这时发现一个奇怪的问题,当运行系统CMD时,直接调用exe(不管是enigma打包的还是文件夹中的)会报错,找不到DLL库函数配置文件(同事开发的底层库);但是运行CMD,cd到exe当前目录,就没有问题;

2. 问题定位

通过打印库运行时配置文件路径,定位出现该问题是因为DLL找不到它同路径下的配置文件;

底层库默认配置文件和它在一个路径下,在读取配置文件使用了相对路径;系统CMD启动是在C盘,这时候调用exe,导致库认为运行目录在C盘,导致相对路径出错,找不到配置文件。

3. 解决方案

在DLL库调用配置文件时,先获取自身所在的路径,然后拼接配置文件路径(Windows下获取dll完整路径的方法)

#include <windows.h>

#include <string>

//windows下获取当前dll的句柄

HMODULE GetSelfModuleHandle()

{

MEMORY_BASIC_INFORMATION mbi;

return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0) ? (HMODULE)mbi.AllocationBase : NULL);

}

//在程序中通过调用该函数即可获取到dll的完整路径至strDllFullPath中

void GetFullPathOfDll(std::string& strDllFullPath)

{

char szPath[MAX_PATH];

GetModuleFileNameA(GetSelfModuleHandle(),szPath,MAX_PATH);

strDllFullPath = std::string(szPath);

}

http://www.hrbkazy.com/news/49843.html

相关文章:

  • 国外企业网址广西关键词优化公司
  • wordpress pdf 显示不了搜索引擎优化的作用
  • 网站是做响应式还是自适应的好seo快速排名软件平台
  • 网站开发者招聘营销推广外包
  • 电子商务网站建设与开发模板下载网站
  • 大学加强网站建设与管理的通知新东方雅思培训价目表
  • 怎么建设b2b网站关键词seo优化软件
  • 网站建设a云世家网络重庆营销型网站建设公司
  • 网站做广告如何做帐兰州网络推广优化怎样
  • 金色 网站 模板成品网站货源1
  • 日本可以自己做网站吗?哪些平台可以发布推广信息
  • 成都房地产上市公司有哪些免费优化网站排名
  • 知果果网站谁做的中山网站seo
  • 科室网站建设各大搜索引擎提交入口
  • 如何把自己做的网站放到微信上搜索引擎谷歌入口
  • 网络规划设计师对应中级重庆网页优化seo公司
  • wordpress 图片中文名宁波seo快速优化课程
  • 临朐门户网站网页设计素材
  • 什么网站好看用h5做百度游戏中心官网
  • 淘宝的好券网站怎么做优化大师官方免费下载
  • 网站做点击收费标准长春百度seo公司
  • 百度官方营销推广平台有哪些seo快速排名软件网址
  • 个人电脑做服务器网站色盲测试图免费测试
  • 辽宁购物网站制作百度下载安装免费
  • wordpress如何显示首页seo百度刷排名
  • 呼和浩特网站建设怎么投放网络广告
  • 钉钉小程序开发平台seo优化要做什么
  • 外包建设网站潍坊网站建设公司
  • 海外推广广告知了seo
  • 外贸日文网站网站seo视频