VC++ DLL 发布到生产环境过程

最近项目中用到了VC++ DLL,在本机调试时无任何问题,但是发布出来后,COPY到另外的机器就报错,说找不到DLL,由于自身工作接触这方面比较少,经过一番折腾后,终于解决,以下为解决步骤

一,平台工具集(最终没选这个发布后也可以运行,选的VS 2015(V140),但是C++相关的工具是必须要装的),就选了Visual Studio 2015 - Windows XP (v140_xp),如图

接下来生成项目报错,C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(1407,5): error MSB6006: “rc.exe”已退出,代码为 5。经过搜索,发现可能是C++相关的工具没有安装,于是找到VS安装程序,修复,如下图

  然后漫长等待,安装完成。

  二,VS C++可发行组件包

  生成成功了,满心欢喜的拿到其它机器运行,接下来又是一盆冷水。发现运行不起,提示找不到相应的DLL,又经过无数的找资料,需要两点,一是发布时必须要以Release版本来发布,用Debug版本是不行的(因为含了本机特定的一些调试信息),二是需要目标机器安装开发环境对应的C++组件包,比如我使用的是VS2015开发的C++类库,目标运行环境机器上就要安装Microsoft Visual C++ 2015 可再发行组件包 (x86),注意区分我们的目标程序是32位还是64位,那么也要装对相应的可发行组件包,组件包的地址可以自行百度,微软的官网上有,百度第一条就是。

  三,C++类库的默认优化(这个坑也比较大)

  我在类库中定义了两个变量,但是发布后发现变量值为空,始终找不到什么原因,问朋友后,他告诉我是被优化掉了,那么找到问题了,马上解决,如图:

选择已禁用。

至此,问题解决,发布后,将程序COPY到03,WIN7,08的系统上都可以正常使用了。

时间: 2024-11-06 07:47:28

VC++ DLL 发布到生产环境过程的相关文章

利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新版本war包位置 生产环境服务器:192.168.13.51 /home/app/api-tomcat/webapps/api.war为生产环境war包位置     /home/app/api-tomcat/webapps/api为生产环境项目位置 /home/app/tomcat.bak/api/

log4net 发布到生产环境不写日志的解决方法

1.升级到log4net的最新版 PM下执行 Install-Package log4net 还是无法解决的,使用下面的方法 2.使用Nlog替换之,详见https://github.com/NLog/NLog/wiki/Tutorial NLog使用方法比log4net更为简单,配置文件如下,如果成windows程序需将NLog.config自动复制到bin下面 1 <?xml version="1.0" encoding="utf-8" ?> 2 &

vue-cli2.0和vue-cli3.0中当发布到生产环境时禁用console.log

vue-cli2.0中的方法 1.安装插件 npm install uglifyjs-webpack-plugin --save-dev 2.修改webpack.prod.conf.js配置文件 const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.Defin

.Net Core Linux centos7行—发布程序到生产环境

实验demo现在需要发布到生产环境,发现在发布的时候要考虑到不一致的几个地方. 1.各类配置文件线下,线上不一致. 2.绑定的url不一致,可能是域名不一致,也可能是schema不一致(http,https) ? ? 配置文件的不一致问题,可以使用环境配置来解决.系统默认定义了3个:Development, Staging, Production appsettings.json 开发:appsettings.Development.json 线上:appsettings.Production.

生产环境CentOS7的R版本升级

背景: 公司的ML服务器,生产环境CentOS7,已安装R3.2.5.RStudio.FastRWeb,正在运行机器学习的实例若干. 现需要将一文本识别应用发布到生产环境,该实例用到包chinese.misc,该包要求R版本在3.3.2以上,故需升级生产环境. 升级工作: 只需要升级R的版本即可. 升级前的R工作目录: /home/work/R 对应的环境变量设置(vim ~/.bash_profile ):PATH=/home/work/R/bin:$PATH 升级步骤: 下载R-3.5.1.

项目发布到正式环境不报错 但是业务执行不成功--自己挖坑坑自己

在一个类中加了一个set方法,在service里面调用了,但是我只把service上传了,没把那个更新的类同时上传,导致投保不成功(保险产品),最后用笨办法 一行一行的System,还是没找到错误所在,最后在经理的提醒下,只有set.get方法处有可能报错,然后我仔细看了下,才想起自己老早之前改过代码,最担心就是发布到生产环境,不报错但是投保不成功,通过这件事情  发现自己干活太乱,每个自己的节奏,在以后的日子里总结自己的节奏.

浅谈 什么是JAVA开发环境、测试环境及生产环境,及它的过程 (转)

从网上整理了一些回答加上个人理解. 环境分以下几种: 1.开发和配置环境:所有的开发和配置在这个环境里进行.一般情况下,只有这个环境可以改配置和进行开发,并且一般不在这个环境下创建数据.(开发环境就是每个开发人员电脑上的开发环境,只有开发人员可以配置和开发,写数据测试放在测试环境) 2.测试环境:新开发和配置通过系统传输到测试环境,进行功能测试,可以创建数据.(开发人员开发完上传到SVN,测试人员下载下来测试.我们公司测试人员不懂IDE,所以是由我们开发人员下载好,他直接通过IP地址访问来测试的

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core发布至Linux生产环境. 开发及发布环境:WIN10 x64  生产Linux环境:Ubuntu 14.04 发布的示例代码: https://github.com/linezero/NETCoreBBS 代码下载下来,首先请注释 Program.cs 中 .UseUrls("http://*:8

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布