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

《C++避坑神器·二十二》VS能正常运行程序,但运行exe程序无响应解决办法

原因是某个文件只是放在了项目路径下,没有放在exe路径下,比如Json文件原来只放在了mlx项目下,导致VS可以运行,但运行exe无响应或报错如下:
在这里插入图片描述

两种方式修改:
1、把Json文件拷贝一份放到exe路径下
2、利用生成事件,具体使用如下:
项目—属性—生成事件—命令行—加入xcopy “$(ProjectDir)periscopeconfig.json” $(OutDir) /Y 在VS运行程序后发现程序自动把Json拷贝到exe路径下了。
上面那个对应xcopy “D:\code5\mlx\mlx\periscopeconfig.json” D:\code5\mlx\x64\Debug\ /Y
D:\code5\mlx\mlx\被加到系统路径改名为ProjectDir,D:\code5\mlx\x64\Debug\被加到系统路径改名为OutDir
加到系统路径的目的:能够让别人电脑也能运行程序,找到对应的目录

把整个文件夹下的所有文件自动加载到exe路径下

xcopy "$(SolutionDir)extlib\mtf_LED" "$(OutDir)\mtf_LED" /E /I /Y

实际为:
xcopy"D:\songguju2\light-leakage-tester\extlib\mtf_LED”"D:\songguju2\light-leakage-tester\x64\Release\mtf_LED” /E /I /Y

把DLL目录下的所以DLL文件拷贝到OutDir目录下

xcopy "$(SolutionDir)extlib\MIL\x64\DLL" $(OutDir) /E /I /Y

拉了项目每次运行都需要手动在项目下放置别人的dll文件或者json文件等,怎么自动放置?还是利用生成事件。

项目–属性–生成事件:
分生成前事件和生成后事件:生成前事件是先执行下面路径内容在编译项目,生成后事件是先编译项目在执行下面路径,一般是放到生成后事件里

 xcopy "$(SolutionDir)extlib\SMC6480\smc6x.dll" $(OutDir) /Y 

对应为:
xcopy “D:\code3\mlx\extlib\SMC6480\smc6x.dll” D:\code3\mlx\x64\Debug\ /Y
作用是把smc6x.dll放到Debug目录下,这样不需要每次手动放置

生成事件报错:
xcopy “D:\new project\mlx\extlib\SMC6480\smc6x.dll” D:\new project\mlx\x64\Debug\ /Y
报错的原因是因为new project项目名称有空格,如果在引号里没事,但后面
D:\new project\mlx\x64\Debug\ /Y没有引号,所以new project报错

注意:如果exe和所需的dll不在同一个目录,想要成功运行exe程序,第一个方法就是通过生成事件把dll全部生成在exe同一目录下,第二个方法就是把所需的dll放在一个目录下,在环境变量path下面把这个目录加上,在运行exe时会在环境变量的path里遍历目录。

📢博客主页: 主页
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 梦回阑珊 原创,首发于 CSDN,转载注明出处🙉
📢代码改变世界,你来改变代码!✨

http://www.lryc.cn/news/232225.html

相关文章:

  • lua调用C/C++的函数,十分钟快速掌握
  • 自定义GPT已经出现,并将影响人工智能的一切,做好被挑战的准备了吗?
  • vue中一个页面引入多个相同组件重复请求的问题?
  • Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)
  • 【ceph】ceph集群删除pool报错: “EPERM: pool deletion is disabled“
  • 【微信小程序】使用npm包
  • 【开发记录篇】第二篇:SQL创建分区表
  • vue 使用 this.$router.push 传参数,接参数的 query或params 两种方法示例
  • rk3588 usb网络共享连接
  • shell 拒绝恶意连接脚本 centos7.x拒绝恶意连接脚本
  • 【系统架构设计】计算机公共基础知识: 2 计算机系统基础知识
  • 什么是代理模式,用 Python 如何实现 Proxy(代理 或 Surrogate)对象结构型模式?
  • 国内领先的五大API接口供应商
  • 第十九章 Java绘图
  • 【C++面向对象】13. 接口 / 抽象类*
  • LeetCode热题100——二分查找
  • 使用VC++实现分段线性变换,直方图均衡化、锐化处理(使用拉普拉斯算子)
  • react class改hooks写法
  • 桂院校园导航 | 云上高校导航 云开发项目 二次开发教程 1.3
  • sscanf提取相应字符到数组
  • 本地开发环境和服务器传输数据的几种方法
  • LeetCode之二叉树
  • 论文学习——THE USTC SYSTEM FOR ADRESS-M CHALLENGE
  • 第一百七十五回 如何创建放射形状渐变背景
  • vue实现调用手机拍照、录像功能
  • WPF播放视频
  • 交换机如何配置BGP协议
  • 精通Nginx(14)-配置HTTPS
  • 封装一个简单的table组件
  • Avalonia UI框架介绍