不同机器编译 在目标机器上运行不一致的问题 急
我最近遇到一个发布上的问题 希望得到帮助
开发工具 vs2005 一个图像库 一个相机开发SDK 一系列自己开发的DLL
发布包包含 软件自身文件EXE和DLL vcredist_x86 图像库 相机SDK
在我本机上一切运行正常 但是发布到其他机器上以后 也能够运行起来 但是在自己开发的DLL里开辟内存都出现可以认为根本不会出现的问题
然后把代码拷贝过去打算调试一下 但是奇怪的是只要在目标机器上编译过 就一切都正常了
开发机器为WIN7 64位 目标机器有WIN7 32位 也有WIN7 64位 也有XP+SP3 都是这个问题
其中有一个现象是 用一台XP的机器编译过以后 发布出去的文件在所有目标机器上都适用
为这个问题已经忙了好几天了 一直没有找到有效的方法解决
同事说是我EXE的问题或者自己开发DLL的问题 导致出现这个现象 但是为什么编译一次就会正常了呢
请各位帮忙看一下问题在哪里 或者有没有好的调试的办法?
谢谢大家
相关推荐
gcc:编译:目标主机、编译主机、编译环境、运行环境; target
什么意思,就是从编译器的角度看,是将源语言(C, Java, C++, 等等)编译(翻译)成目标语言,是CPU承认的语言。编译器的一个重要功能是发现源语言里的错误,无法翻译到目标语言的地方。主要是需要确保编译环境与目标环境:各种基础软件的版本一致性,以及采用的架构一致(这里的架构,主要是指硬件:CPU,内存,主板);当然,编译环境和目标环境可以是一台机器,但是多数情况下是不同的主机(主要是不同的CPU架构)。目标主机,就是生成的二进制程序文件,需要安放的一个生成环境,测试环境。
VS编译的ITK程序在其他机器上运行问题
当我们将使用VS编译的ITK程序迁移到其他机器上时,可能会遇到依赖库缺失、编译器差异和版本不匹配等问题。通过确保正确配置依赖库、使用相同版本的编译器和ITK,并遵循上述解决方案,我们可以解决这些问题,使得程序能够在其他机器上成功运行。为了避免由于不同版本的ITK导致的兼容性问题,建议在其他机器上使用与开发机器上相同的ITK版本进行编译和运行。为了避免由于编译器差异导致的问题,建议在不同机器上使用相同版本的编译器进行编译。确保其他机器上的编译器版本与开发机器上使用的编译器版本保持一致。
解决 GLIBCXX 版本不匹配的问题
解决 GLIBCXX 版本不匹配错误的步骤:查找 GLIBCXX 版本、确定对应 GCC 版本、下载源代码、编译安装 GCC、替换系统库文件、更新链接器缓存。按此解决方案,您能解决 "/lib64/libstdc++.so.6: version `GLIBCXX_x.x.xx' not found (required by ./appname)" 类似错误。详细步骤指导您在目标机器上重新编译代码,使用与目标机器 GLIBCXX 版本相符的 GCC 版本。解决 GLIBCXX 版本不匹配问题,请参考本文指南。
基于springboot+vue的摄影作品社区(项目源码)
基于springboot+vue的摄影作品社区(项目源码) 系统采用前后端分离的 B/S 架构。后端基于 Spring Boot 2.7.2 与 Java 1.8 构建,以 MyBatis-Plus 完成数据访问、PageHelper 实现分页,用 MySQL 8 存储业务数据;身份认证采用 Sa-Token 轻量级框架并整合 JWT 令牌,配合 Redis 实现图形验证码缓存与会话存储;前端使用 Vue 3 与 Naive UI 构建界面,由 Vite 完成构建,看板统计图表基于 ECharts 渲染。系统面向普通用户与管理员两类角色:用户端提供注册登录、作品上传与归档、多条件检索浏览、作品集管理、分类与标签管理、摄影圈专题、回收站、个人设置与公告查看等功能;管理端提供数据看板、用户管理与公告管理等功能。
Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库.zip
Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库


