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

复制Qt项目后常见问题解决

前言
很多时候因为我们不想在原有的重要代码上作修改,常常将代码复制一份。今天讨论的就是代码复制后,复制的代码运行不正常或出错的问题。

第一个问题:图片等资源文件运行时加载失败
当我将程序运行起来后,我发现有些图片没有显示出来,判断是资源文件的问题,虽然我是将整个项目都复制了一份,资源文件肯定也是一起复制过来的,但我发现visual studio里没有加载资源文件,所以我把资源文件重新在visual studio里添加了一遍,然后重新cmake就解决了。

第二个问题:使用LoadLibrary()方法加载动态库时失败
因为我想使项目更纯洁,便手动将原来复制过来的visual studio生成的debug目录,也就是原来visual studio生成好的各种动态库、静态库和执行程序全部删除了,然后用visual studio自己重新生成,再用windeployqt.exe工具生成缺少的动态库。看似程序运行没有问题,但是在用LoadLibrary()方法加载某个动态库时,加载失败了。通过仔细观察,我发现我自己生成的动态库比原来复制的动态库少,导致动态库加载失败的原因就是缺少动态库的依赖项,后面将没有复制的动态库复制过来就好了。
通过实验可以知道,我们复制项目后没有必要去手动删除debug目录下的各种动态库、静态库和执行程序,因为这样会删除很多必需的动态库依赖项(这些依赖项即使使用windeployqt.exe工具也不能保证全部生成好),我们可以使用visual studio执行清理操作,这样只会删除自己编写的代码生成的库文件,然后执行生成操作,这些库文件又重新回来了,其他不是项目生成的库文件等依赖项不要再手动删除了。

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

相关文章:

  • C#-WPF 常见类型转换方法(持续更新)
  • Path does not exist: file:/D:/pythonProject/spark/main/datas/input/u.data
  • 物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
  • 力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)
  • 删除缓存之后,浏览器显示登录新设备
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04
  • Stable diffusion详细讲解
  • 软件工程期末复习-用例建模
  • 【Golang】——Gin 框架中的表单处理与数据绑定
  • hive-内部表外部表-详细介绍
  • Windows系统 ElasticSearch,分词器、Kibana安装
  • 黑马智数Day10
  • 网络传输:网卡、IP、网关、子网掩码、MAC、ARP、路由器、NAT、交换机
  • MySQL45讲 第二十四讲 MySQL是怎么保证主备一致的?——阅读总结
  • Visual Studio 圈复杂度评估
  • Springboot之登录模块探索(含Token,验证码,网络安全等知识)
  • golang调用模组程序实现交互输入自动化,获取imei及iccid
  • ACE之单例
  • 泷羽sec学习打卡-云技术基础1-docker
  • 7天掌握SQL - 第一天:数据库基础与SQL入门
  • A037-基于Spring Boot的二手物品交易的设计与实现
  • 【异常记录】Junitmock之InvalidUseOfMatchersException异常
  • Spring Boot3自定义starter
  • 掌控 Solidity:事件日志、继承和接口的深度解析
  • 新手教学系列——善用 VSCode 工作区,让开发更高效
  • Vue3 虚拟列表组件库 virtual-list-vue3 的使用
  • WebRTC实现双端音视频聊天(Vue3 + SpringBoot)
  • 第6章详细设计-6.9 PCB审查
  • docker与大模型(口语化原理和实操讲解)
  • Linux之vim模式下全选命令