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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • “a == b”和“a.equals(b)”有什么区别?
  • 谷歌Linux内核自动测试平台架构介绍-用自动测试测试难以测试的问题
  • 2024年软件测试行业展望
  • 什么是负载均衡?
  • Frappe Charts:数据可视化的强大工具
  • 如何在 Ubuntu 16.04 上使用 Minio 设置对象存储服务器
  • 鸿蒙 DevEco Studio 3.1 入门指南
  • js遍历后端返回的集合将条件相同的放入同一个数组内
  • Portraiture4.1汉化版PS磨皮插件(支持原生m1芯片m2)
  • 约翰瑟尔的故事
  • QT上位机开发(抽奖软件)
  • 听GPT 讲Rust源代码--library/panic_unwind
  • 初识RabbitMQ
  • 【react.js + hooks】useUrl 监听路由参数
  • 【Java技术专题】「入门到精通系列」深入探索Java技术中常用到的六种加密技术和代码
  • ----------
  • [LeetCode] Wiggle Sort
  • [数据结构]链表的实现在PHP中
  • __proto__ 和 prototype的关系
  • 《剑指offer》分解让复杂问题更简单
  • Angular Elements 及其运作原理
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Fabric架构演变之路
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript DOM 10 - 滚动
  • js中forEach回调同异步问题
  • Linux下的乱码问题
  • OSS Web直传 (文件图片)
  • springboot_database项目介绍
  • SQLServer插入数据
  • 初识 webpack
  • 搞机器学习要哪些技能
  • 回顾2016
  • 检测对象或数组
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 山寨一个 Promise
  • 一个JAVA程序员成长之路分享
  • 移动端唤起键盘时取消position:fixed定位
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​2020 年大前端技术趋势解读
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # 飞书APP集成平台-数字化落地
  • #### golang中【堆】的使用及底层 ####
  • #etcd#安装时出错
  • #php的pecl工具#
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)Android开发优化---------UI优化
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (4)logging(日志模块)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (正则)提取页面里的img标签
  • (转载)Linux网络编程入门