gnu工程的编译 - 以libiconv为例

文章目录

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

相关推荐
dingdingfish1 天前
GNU Parallel 学习 - 第1章:How to read this book
bash·shell·gnu·parallel
dingdingfish1 天前
GNU Parallel 学习笔记 - 总目录
bash·gnu·parallel
EleganceJiaBao2 天前
【嵌入式】GNU/GCC vs LLVM/Clang
gnu·clang·gcc·llvm
切糕师学AI2 天前
ARM汇编器与GNU汇编器:详细介绍与核心区别
arm开发·gnu·汇编器
心态还需努力呀3 天前
【鸿蒙PC命令行适配】GNU Hello 库在鸿蒙 PC 上的交叉编译与移植部署实战
华为·鸿蒙·gnu·openharmony·开源鸿蒙
加强洁西卡3 天前
【RISC-V】riscv64-linux-gnu工具链都有哪些工具
linux·gnu·risc-v
盛邦安全6 天前
漏洞预警 | GNU InetUtils telnetd 远程认证绕过漏洞(CVE-2026-24061)
服务器·gnu
Gobysec9 天前
Goby 漏洞安全通告|GNU InetUtils Telnetd USER环境变量注入 权限绕过漏洞(CVE-2026-24061)
数据库·安全·gnu·漏洞分析·漏洞预警
钮钴禄·爱因斯晨12 天前
操作系统第一章:计算机系统概述
linux·windows·ubuntu·系统架构·centos·鸿蒙系统·gnu
切糕师学AI19 天前
GDB: GNU 调试器
服务器·gnu