gnu工程的编译 - 以libiconv为例

文章目录

    • gnu工程的编译 - 以libiconv为例
    • 概述
    • gnu官方源码包的发布版
    • 从官方的代码库直接迁出的git版源码
    • 如果安装了360, 需要添加开发相关的目录到信任区
    • 生成 configrue 的方法
    • 备注
    • END

gnu工程的编译 - 以libiconv为例

概述

gnu工程的下载分2种:

gnu官方源码包的发布版

在这里插入图片描述
这种下载到本地后, 就是可以直接3部曲(./configure && make && make install)编译的源码包.

从官方的代码库直接迁出的git版源码

e.g. https://git.savannah.gnu.org/git/libiconv.git
在这里插入图片描述
在这里插入图片描述
这个git库迁出到本地, 是没有./configure这个文件的, 没办法直接执行3部曲编译.
文档中没有说怎么生成./configure(应该是我没耐心去翻看所有文档).

观察了一下, 工程本地有3个.sh, 试了一下成功了.
等生成了./configrue, 就可以3部曲编译工程. 编译出来的工程输出正确可用.
在这里插入图片描述

如果安装了360, 需要添加开发相关的目录到信任区

我用的360企业版.
双击托盘上的360 => 360主界面 => 木马查杀 => 右上角更多 => 信任区
在这里插入图片描述
将cygwin64的安装后的目录和工程所在的目录都加进去.
防止编译到一半, 360的拦截出来捣乱.

生成 configrue 的方法

先运行 ./autogen.sh, 如果报错, 说缺那些组件, 就装上.
缺的组件用cygwin64装上很容易.
我这里安装了: git, gettext, symbol, gperf, patch.
安装的这些组件, 都是运行.sh报错后, 添加上的, 要不也不知道附加安装一些什么组件.

通过运行./autogen.sh, 提示说 需要运行 gitsub.sh, 将gnulib拉取本地.
运行 ./gitsub.sh pull gnulib
然后再运行 ./autogen.sh, 需要很长时间(10分钟?) , 产生了 ./configure.
然后就可以执行编译3部曲了.

每个人的环境不一样, 运行产生./.sh时, 发现啥报错提示, 一般都是哪个命令在环境中没有导致的.
将环境中需要的编译命令和组件包都装全, 能让
.sh顺利运行完, 就可以了.

备注

这种git版的源码包, 是给gnu组件的研发用的. 如果不是gnu的研发, 还是不要没事找事.
如果只是想使用gnu源码编译成输出自己来用, 还是去下载发布版的压缩包, 直接3部曲编译好些.

END

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

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

相关文章

Global Mapper SDK 19 中文开发文档(八)

7.2.8 GM_DBUtil (1)声明 public static class GM_DBUtil (2)方法 方法描述DBGetTableList获取指定空间数据库中的表列表DBIsDatabaseFile指示输入文件是否为数据库(Esri地理数据库、Spatialite等)DBMa…

gitee+picgo+typora图床搭建

giteepicgotypora图床搭建 1.安装typora 官网下载直接安装:https://www.typora.io/#download 2.编辑typora图像设置 打开 文件 -> 偏好设置 -> 图像设置 插入图片时 选择 上传图片设置 上传服务 为 PicGo-Core(command line) 3.为typora安装PicGo-Core 点…

vue 父页面监听子页面值的变化

在Vue中&#xff0c;可以通过使用$emit()来触发事件并传递数据。 首先&#xff0c;需要在父组件中定义一个自定义事件名称&#xff0c;然后将该事件与相应的处理函数关联起来。当子组件改变了其值时&#xff0c;就会调用这个处理函数。 下面是一个示例代码&#xff1a; <…

达梦dm.ini参数之SELECT_LOCK_MODE详解

一、背景 1.现象概述 某项目当晚分区表变更&#xff0c;因为manager工具多开了1个窗口执行了语句慢取消了&#xff0c;新开了一个会话窗口执行添加分区/删除分区/truncate分区卡死了&#xff0c;v$session查不到关于这张分区表的阻塞和事务&#xff0c;但是在v$lock里根据表的…

DRF(Django Rest Framework)框架基于restAPI协议规范的知识点总结

Django Rest Framework学习 一、初识DRF组件 1.1 FBV和CBV FBV&#xff1a;function based view from django.shortcuts import render, HttpResponse # 这种是基于FBV模式 函数模式实现Views函数 def login(request):if request.method GET:return HttpResponse("Get…

腾讯云轻量应用服务器快速入门_建站/环境部署/云盘/电商/宝塔/SRS教程汇总

腾讯云轻量应用服务器Lighthouse是新一代开箱即用、使用简单的轻量级云服务器&#xff0c;支持多种镜像应用模板一键部署所需环境和应用&#xff0c;如在云端构建网站、Web应用、小程序/小游戏、APP、电商应用、云盘/图床和开发测试环境&#xff0c;腾讯云服务器网txyfwq.com分…

Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版二,改进三大部分生成功能群

Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版二&#xff0c;改进三大部分生成功能群 Golang 通用代码生成器仙童已发布 2.4.0 电音仙女尝鲜版二及其介绍视频。尝鲜版二改进了三大部分生成功能群。 视频请见&#xff1a; https://www.bilibili.com/video/BV1Q64y1H75…

js如何判断一个字符串是否为json格式

try/catch判断 function isJSON(str) {if (typeof str string) {try {JSON.parse(str);return true;} catch(e) {console.log(e);return false;}}console.log(It is not a string!) }以上try/catch的确实不能完全检验一个字符串是JSON格式的字符串&#xff0c;有许多例外…

CH07_简单化

Facade 模式 外观模式&#xff08;Facade&#xff09;&#xff0c;为子系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一个系统更加容易使用。 类图 说明 Facade&#xff08;窗口&#xff09; Facade角色是代表构成系统…

【用unity实现100个游戏之19】制作一个3D传送门游戏,实现类似鬼打墙,迷宫,镜子,任意门效果

最终效果 文章目录 最终效果素材第一人称人物移动开门效果显示原理渲染相机跟着我们视角移动门的摄像机跟着我们旋转近裁剪面设置传送配置代码实现传送效果结束完结素材 https://assetstore.unity.com/packages/3d/props/interior/door-free-pack-aferar-148411

andriod安卓水果商城系统课设

​ 一、目的及任务要求 随着当今社会经济的快速发展和网络的迅速普及&#xff0c;手机基本成为了每个人都随身携带的电子产品。传统的购物方式已经满足不了现代人日益追求便利及高效率的购物心理&#xff0c;而通过移动手机上的在线购物系统&#xff0c;可以便捷地甚至足不出…

XV7011BB陀螺传感仪的规格书

角速率输出(16/24bit)优异的温度偏置稳定性工作温度范围-20℃至80℃(可选:-40℃至85℃) 角速率输出(16/24bit)优异的温度偏置稳定性工作温度范围-20℃至80℃(可选:-40℃至85℃)内置温度传感器内置可选数字滤波器低功耗视频:XV7000系列&#xff0c;用于…

使用aspose.Words更新表格列宽

public static bool UpdateTableStyle(string filePath) { try { Document doc new Document(); //样式 Style style doc.Styles.Add(StyleType.Paragraph, "cellStyle"); style.Font.Name "simsun"; PageSetup pageSet doc.Sections[0].PageSetup; pa…

scss是什么?安装使用的步骤是?有哪几大特性?

SCSS是一种层叠样式表语言的扩展&#xff0c;它引入了变量、嵌套规则、混合、继承等功能&#xff0c;使得样式表的编写更加简洁、有组织和可维护。 安装SCSS的步骤如下&#xff1a; 首先&#xff0c;你需要安装Node.js环境。可以从Node.js官网下载并按照指引进行安装。 安装完…

java面试题18

什么是Java中的数据库连接池&#xff08;Database Connection Pool&#xff09;&#xff1f;它有什么作用&#xff1f; 答案&#xff1a;数据库连接池是一种管理和重用数据库连接的机制&#xff0c;用于提高数据库访问的性能和可扩展性。Java中的数据库连接池可以通过使用开源的…

全面解析 I2C 通信协议

全面解析 I2C 通信协议 lvy 嵌入式学习规划 2023-12-22 21:20 发表于陕西 嵌入式学习规划 嵌入式软件、C语言、ARM、Linux、内核、驱动、操作系统 80篇原创内容 公众号 点击左上方蓝色“嵌入式学习规划”&#xff0c;选择“设为星标” 1、什么是I2C协议 I2C 协议是一个允许…

【2023年12月18日-12月25日】一周AI咨询更新

上周&#xff0c;关于Google的Bard和Midjourney v6的讨论异常火热。 接下来&#xff0c;让我们回顾一下上周那些引人注目的AI新闻。 ① 已近乎真实拍摄&#xff1a;Midjourney v6的画质令人惊叹 由Midjourney v6制作的图片&#xff0c;质量之高&#xff0c;媲美电影级别&…

C语言中的Do While循环:深度解析与实践应用

各位少年&#xff0c; 在C语言编程中&#xff0c;循环语句是实现重复任务的关键构造块。今天&#xff0c;我们将深入探讨C语言中的一种特殊循环结构——Do While循环。 一、理解Do While循环 Do While循环是一种后测试循环&#xff0c;这意味着它首先执行循环体内的语句&…

关于使用Selenium获取网页控制台的数据

背景&#xff1a; 需要获取网页的控制台的数据&#xff0c;如下图 在此文章将使用到 Pycharm 和 Selenium4 Pycharm安装 Selenium安装 from selenium import webdriver from selenium.webdriver.common.by import By import time# 创建浏览器对象 browser webdriver.Chro…

二叉树-遍历-重写

文章目录 是否可以通过遍历一遍二叉树得到答案寻找任意一个节点与f(T)的关系需要判断哪些是1!2视频页面强化训练01 257. 二叉树的所有路径02 129. 求根节点到叶节点数字之和03 199. 二叉树的右视图04 298. 二叉树最长连续序列&#x1f512;05 988. 从叶结点开始的最小字符串*06…