windows服务器下jenkins c语言打包的一些经验share

前言

因为一些原因,需要从linux环境下的jenkins 打包c语言转移到使用windows环境下的jenkins打包c语言,从转移的过程中,发现了一些问题和解决方案,故在此和各位运维工程师分享一下。

一、windows 下的c语言编译环境配置

这边就不在叙述了,大家可以参考这篇 文章

二、使用make all 进行打包,报系统找不到指定的文件

这个问题在linux下不存在,但不知道为啥在windows 下会存在这个问题,于是从报错的信息入手:
process_begin: CreateProcess(NULL, "…/…/startup/system_nrf52840.c ", ) failed 这个一看就是文件的路径不对,需要再makefile 文件的头部加入 SHELL=cmd.exe
在这里插入图片描述
在 Makefile 中,SHELL 变量用于指定将要执行命令的 shell 程序。在 Unix/Linux 环境下,默认的 shell 通常是 /bin/sh 或者其他 POSIX 兼容的 shell,比如 bash。在 Windows 环境下,默认的 shell 是 cmd.exe 或者 PowerShell。
通过设置 SHELL=cmd.exe,你明确指定 Makefile 中的所有命令都将由 Windows 的 cmd.exe 解释和执行。
当你在 Makefile 中使用 SHELL=cmd.exe 时,所有的命令行操作(如 del、rmdir、copy 等)都将在 Windows 的 cmd.exe 环境中执行,而不是在 Unix/Linux 或其他 shell 环境中执行。
cmd.exe 是 Windows 的命令解释器,它支持批处理文件和 Windows 的命令行特性。你可以在 Makefile 中使用 Windows 命令行特有的命令和语法

三、使用make clean 无法清除文件

make clean 无法清除文件,导致二次打包的时候,打包的还是历史的东西,同时打包速度也很快,感觉不太对劲,看了makefile 文件发现:
在这里插入图片描述
在这里插入图片描述
这个rm -rf 明明是linux 删除命令,怪不得在windows 下无效
在这里插入图片描述
本想着用windows 的del 命令去替换,可替换了,发现还是没用,估计是这个项目之前都考虑linux ,很多命令都是用linux 命令,于是另辟思路,我在打包完,直接把工作空间删掉,就不用make clean 了,多简单明了,反正每次构建都需要去拉取代码,这样子稍微花点时间,但满足了我的要求。在这里插入图片描述

总结

以上是我的初级运维工程师的经验分享,很多的问题,多花点时间,网上找找资料还是可以解决的!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国最全的hive sql 函数集合(持续更新)

#6/20/24 增加greatest函数: select greatest(1,2,3,4,5,2) 结论:可以用hive presto spark得出正确的结果值 #6/20/24 增加last_value(cl1) ignore nulls over(order by ts ) as dt 函数: 有数据集: 1 1 1 2 2   3 3 …

模拟算法:代码世界的生活模拟器

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. 模拟算法的总结 二. 模拟算法题目 2.1 替换所有的问号 2.2 提莫攻击 2.3 Z字形变换 2.4 外观数列 2.5 数青蛙 总结 前言 本篇详细介绍了模拟算法的使用,让…

自动化办公04 使用pyecharts制图

目录 一、柱状图 二、折线图 三、饼图 四、地图 1. 中国地图 2. 世界地图 3. 省会地图 五、词云 Pyecharts是一个用于数据可视化的Python库。它基于Echarts库,可以通过Python代码生成各种类型的图表,如折线图、柱状图、饼图、散点图等。 Pyecha…

【腾讯云智笔试题——分苹果时间复杂度和空间复杂度都是O(1)】

文章目录 题目描述解题思路:思路讲解: 题目描述 有m个苹果,n个小孩。每个小孩都有一个编号,小明的编号是。要尽量公平的分苹果,相邻编号的小孩分到的苹果数目差距不能大于1。 请问如何在满足相邻编号的小孩分到的苹果…

wsl2平台鸿蒙全仓docker编译环境快速创建方法

文章目录 1 文章适用范围:2 WSL环境安装3 镜像迁移非C盘4 Docker环境准备4.1 docker用户组和用户创建4.2 Docker环境配置4.2.1 Ubuntu下安装docker工具4.2.2 鸿蒙Docker环境安装4.2.3 鸿蒙全仓代码拉取编译 5 鸿蒙全仓代码的更新策略6 参考文献7 FAQ7.1 缺头文件xcr…

【0基础学爬虫】爬虫基础之自动化工具 Appium 的使用

大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…

CentOS 5(CentOS 6、Redhat 6)服务器配置VNC

一、配置服务器yum源 yum源(本地、华为云、阿里云、网易) 二、使用yum安装vnc服务 1、检查系统是否安装了vnc 和 vncserver, rpm -qa | grep vnc如果没有安装那就行自行下载安装(我这里用yum安装了,vncserver安装需…

设计程序,实现高精度圆周率的计算和存储,使用线性表突破程序设计语言内置变量的数值和有效数字范围限制

一、使用线性表突破程序设计语言内置变量的数值和有效数字范围的限制,为了实现高精度圆周率的计算,先根据数学公式进行对PI高精度运算,如图1-1。根据这个数学公式 π2 0nn!2n1‼ 即 Rn1Rn*n2n1,R11,sum π2* n1∞Rn 来…

Redis学习|Redis基础知识、Redis五大数据类型、Redis三种特殊数据类型、Redis事务

Redis基础知识 redis默认有16个数据库,并且这个数量可以在conf配置文件中更改 默认使用的是第0个 可以使用 select 进行切换数据库! key *查看数据库所有的key 清除当前数据库 flushdb 清除全部数据库的内容FLUSHALL 为什么redis是6379!(了解一下即可!) Redis 是…

【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 )

文章目录 一、Graham 凸包扫描算法1、凸包概念2、常用的凸包算法3、Graham 凸包扫描算法 二、Graham 算法前置知识点1、角排序2、叉积3、算法过程分析 三、代码示例1、完整代码示例2、执行结果 使用 Graham 算法绘制的凸包效果 : 博客代码下载 : https://download.csdn.net/d…

大模型之-Seq2Seq介绍

大模型之-Seq2Seq介绍 1. Seq2Seq 模型概述 Seq2Seq(Sequence to Sequence)模型是一种用于处理序列数据的深度学习模型,常用于机器翻译、文本摘要和对话系统等任务。它的核心思想是将一个输入序列转换成一个输出序列。 Seq2Seq模型由两个主…

企业微信,机器人定时提醒

场景: 每天定时发送文字,提醒群成员事情,可以用机器人代替 人工提醒。 1)在企业微信,创建机器人 2)在腾讯轻联,创建流程,选择定时任务,执行操作(企业微信机…

未登录也能知道你是谁?浏览器指纹了解一下!

引言 大多数人都遇到过这种场景,我在某个网站上浏览过的信息,但我并未登录,可是到了另一个网站发现被推送了类似的广告,这是为什么呢? 本文将介绍一种浏览器指纹的概念,以及如何利用它来判断浏览者身份。…

FIddler+Proxifer 实现PC客户端抓包详细教程

文章目录 前言1、Proxifer下载和配置1.1、下载Proxifer1.2、Proxifier配置 2、FIddler下载和配置2.1、FIddler下载2.2、FIddler配置 3、三、为什么抓不到有些应用程序的HTTP(s)的包? 前言 一般在浏览器场景下,我们可以利用Fiddler很好的完成抓包&#x…

计算机网络学习3

文章目录 以太网的MAC帧格式虚拟局域网VLAN概述虚拟局域网VLAN的实现机制以太网的发展802.11无线局域网的组成无线局域网的物理层无线局域网的数据链路层---使用CSMA/CD协议802.11无线局域网的MAC帧 网络层网络层概述网际协议IP和4.2.1异构网络互联IPv4地址及其编址方法概述IPv…

webpack处理样式资源04--webpack入门学习

处理样式资源 本章节学习使用 Webpack 如何处理 Css、Less、Sass、Scss、Styl 样式资源 介绍 Webpack 本身是不能识别样式资源的,所以我们需要借助 Loader 来帮助 Webpack 解析样式资源 我们找 Loader 都应该去官方文档中找到对应的 Loader,然后使用…

osgearth提示“simple.earth: file not handled”

在用vcpkg编译完osg和osgearth后,为了验证osgearth编译是否正确,进行测试,模型加载代码如下: root->addChild(osgDB::readNodeFile("simple.earth")); 此时以为是simple.earth路径的问题,遂改为以下代码…

Kithara实时定时器

管理定时器和实时定时器 目录 管理定时器和实时定时器管理时间数据通用定时器编程初始化计时器删除计时器停止/启动/调整定时器备注RealTimer 备注项目实例项目结构项目源码 示例更多: 管理时间数据 在 Kithara RealTime Suite 中,所有时间值均以 100 ns…

Pikachu靶场--文件上传

参考借鉴 Pikachu靶场之文件上传漏洞详解_皮卡丘文件上传漏洞-CSDN博客 文件上传漏洞&#xff1a;pikachu靶场中的文件上传漏洞通关_pikachu文件上传通关-CSDN博客 client check 在桌面新建一个文件夹&#xff0c;准备一个hello.php文件&#xff0c;文件写入如下代码 <?p…

产品3D模型在线展示

产品3D模型可以向潜在客户提供360度的观察角度&#xff0c;比平面图形的效果更好。快速实现产品3D模型的在线展示最简单的方法是使用老子云3D可视老子云3D可视化的模型内嵌特性&#xff0c;无需任何开发工作&#xff0c;5分钟就可以完成&#xff1a; 老子云的模型内嵌功能&…