cygwin下编译zlib源码

Windows平台通过Cygwin编译安装SAMtools生物信息学工具全攻略 在生物信息学数据分析中,SAMtools是处理高通量测序数据的核心工具,广泛应用于SAM/BAM/CRAM格式文件的转换、排序、索引和变异检测等关键操作。其底层依赖于zlib等压缩库实现高效的数据处理,通过命令行接口提供灵活的数据操作能力。对于需要在Windows环境下进行生物信息学分析的研究人员,通过Cygwin环境部署SAMtools提供了与Linux原生体验高度一致的解决方案,实现了Windows文件系统与生物信息学工具链的无缝集成。这种方法特别适合需要频繁在Windows图形化应用与命令行工具间切换 阅读详情

本文介绍在cygwin下编译zlib源码的方法步骤,这个过程虽然简单,但还是有一些需要注意的地方。

zlib源码下载地址:

http://www.zlib.net/

下载后,解压就会生成zlib-1.2.8这种文件夹。

1. 编译步骤:

  • 首先,创建一个文件夹,用configure命令指定编译结果到这个文件夹。
  • 其次,make
  • 最后,make install

当然,也可以将最后两步合并为 make & make install

2. 为加深印象,特帖实践过程如下:

$ pwd
/cygdrive/g/2015/zlib-1.2.8

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ ls
adler32.c       contrib    FAQ        infback.c   inftrees.h    qnx            watcom           zlib.h
amiga           crc32.c    gzclose.c  inffast.c   make_vms.com  README         win32            zlib.map
as400           crc32.h    gzguts.h   inffast.h   Makefile      test           zconf.h          zlib.pc.cmakein
ChangeLog       deflate.c  gzlib.c    inffixed.h  Makefile.in   treebuild.xml  zconf.h.cmakein  zlib.pc.in
CMakeLists.txt  deflate.h  gzread.c   inflate.c   msdos         trees.c        zconf.h.in       zlib2ansi
compress.c      doc        gzwrite.c  inflate.h   nintendods    trees.h        zlib.3           zutil.c
configure       examples   INDEX      inftrees.c  old           uncompr.c      zlib.3.pdf       zutil.h

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ mkdir mylibs

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ **chmod 777 mylibs**

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ ./configure --prefix=/cygdrive/g/2015/zlib-1.2.8/mylibs
Checking for gcc...
Checking for shared library support...
No shared library support.
Building static library libz.a version 1.2.8 with gcc.
Checking for off64_t... No.
Checking for fseeko... Yes.
Checking for strerror... Yes.
mv:是否覆盖"zconf.h",而不理会权限模式0000 (---------)? y
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... No.

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ make
gcc -O3  -I. -c -o example.o test/example.c
gcc -O3    -c -o adler32.o adler32.c
gcc -O3    -c -o crc32.o crc32.c
gcc -O3    -c -o deflate.o deflate.c
gcc -O3    -c -o infback.o infback.c
gcc -O3    -c -o inffast.o inffast.c
gcc -O3    -c -o inflate.o inflate.c
gcc -O3    -c -o inftrees.o inftrees.c
gcc -O3    -c -o trees.o trees.c
gcc -O3    -c -o zutil.o zutil.c
gcc -O3    -c -o compress.o compress.c
gcc -O3    -c -o uncompr.o uncompr.c
gcc -O3    -c -o gzclose.o gzclose.c
gcc -O3    -c -o gzlib.o gzlib.c
gcc -O3    -c -o gzread.o gzread.c
gcc -O3    -c -o gzwrite.o gzwrite.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
gcc -O3  -o example.exe example.o -L. libz.a
gcc -O3  -I. -c -o minigzip.o test/minigzip.c
gcc -O3  -o minigzip.exe minigzip.o -L. libz.a

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ make install
cp libz.a /cygdrive/g/2015/zlib-1.2.8/mylibs/lib
chmod 644 /cygdrive/g/2015/zlib-1.2.8/mylibs/lib/libz.a
cp zlib.3 /cygdrive/g/2015/zlib-1.2.8/mylibs/share/man/man3
chmod 644 /cygdrive/g/2015/zlib-1.2.8/mylibs/share/man/man3/zlib.3
cp zlib.pc /cygdrive/g/2015/zlib-1.2.8/mylibs/lib/pkgconfig
chmod 644 /cygdrive/g/2015/zlib-1.2.8/mylibs/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /cygdrive/g/2015/zlib-1.2.8/mylibs/include
chmod 644 /cygdrive/g/2015/zlib-1.2.8/mylibs/include/zlib.h /cygdrive/g/2015/zlib-1.2.8/mylibs/include/zconf.h

ranke@csdn /cygdrive/g/2015/zlib-1.2.8
$ ls
adler32.c       crc32.h      gzguts.h   inffast.o     minigzip.exe   trees.o          zlib.pc
adler32.o       crc32.o      gzlib.c    inffixed.h    minigzip.o     uncompr.c        zlib.pc.cmakein
amiga           deflate.c    gzlib.o    inflate.c     msdos          uncompr.o        zlib.pc.in
as400           deflate.h    gzread.c   inflate.h     mylibs         watcom           zlib2ansi
ChangeLog       deflate.o    gzread.o   inflate.o     nintendods     win32            zutil.c
CMakeLists.txt  doc          gzwrite.c  inftrees.c    old            zconf.h          zutil.h
compress.c      example.exe  gzwrite.o  inftrees.h    qnx            zconf.h.cmakein  zutil.o
compress.o      example.o    INDEX      inftrees.o    README         zconf.h.in
configure       examples     infback.c  libz.a        test           zlib.3
configure.log   FAQ          infback.o  make_vms.com  treebuild.xml  zlib.3.pdf
contrib         gzclose.c    inffast.c  Makefile      trees.c        zlib.h
crc32.c         gzclose.o    inffast.h  Makefile.in   trees.h        zlib.map

ranke@csdn /cygdrive/g/2015/zlib-1.2.8

生成的文件可以在mylibs中看到。

注意:
1. 本例中,最后生成的是zlib.a静态库,在makefile中引用的时候,要写成这个静态库的路径,否则,会报诸如zlib.h头找不到的错误。
2. 在mylibs的include中,就有头文件zlib.h,这个头文件就可以被外部程序引用。

本篇就到这里。

Windows系统下通过Cygwin编译安装SAMtools完整指南 在生物信息学数据分析中,处理高通量测序数据是核心环节,而SAM/BAM/CRAM格式是存储比对结果的通用标准。其底层原理依赖于高效的压缩算法和索引结构,以实现对海量基因组数据的快速读写与查询。这一技术价值在于为变异检测、序列比对等关键分析提供了稳定可靠的数据处理基础。在实际应用场景中,研究人员常需在个人电脑的Windows操作系统上进行数据预处理与初步分析。本文聚焦于通过Cygwin环境在Windows平台成功部署原生SAMtools工具链,解决了依赖管理、编译配置等工程实践难题,并涵盖了性能调优与常见故障 阅读详情

相关推荐

Windows源码编译Hadoop 2.8.0

相关依赖1.JDK 1.7+ 2.maven 3.0+ 3.findbugs 4.zlib headers 1.2.7+ (如果要编译得到native code) 5.cmake 2.6+ 6.protocbuffer 2.5.0 7.windows SDK or Visual Studio 2010 SP1(如果是vs2010,最好升级为sp1,否则那个cvtres.exe会疯掉)

炼剑 3931

mipsel-linux-uclibc交叉编译libz

使用自带的configure,发现不支持交叉编译 zhangbin@bogon:~/bcm/unimedia/depvlc/libz/code_zlib-1.2.5$ ./configure --help usage:   configure [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]     [--static] [--64]

突围 2615

Windows下Anaconda换清华镜像源最全指南(含常见问题解决)

本文提供了一份详尽的Windows系统下Anaconda配置清华镜像源的完整指南。针对网络下载缓慢的痛点,文章详细对比了命令行添加与直接编辑配置文件两种主流方法,并重点解决了配置过程中常见的文件缺失、安装失败、环境求解缓慢等疑难问题,帮助用户一劳永逸地提升包管理效率。

brandy的博客 337

手把手教你用Cadence VPWLF源和参数扫描:搞定非周期激励与gmid曲线绘制(避坑指南)

本文详细介绍了如何在Cadence Virtuoso中使用VPWLF源生成复杂非周期激励信号,并结合gmid方法进行双参数扫描优化电路设计。通过实战案例和避坑指南,帮助工程师高效解决波形生成和参数可视化难题,提升模拟电路设计效率。

weixin_29260291的博客 426

HomeAssistant+HACS实战:5分钟搞定米家设备接入(附HomeKit配置技巧)

本文详细介绍了如何通过HomeAssistant和HACS插件商店快速接入米家设备,并分享HomeKit配置技巧。从HACS安装到米家设备接入,再到HomeKit设备集成,提供一站式智能家居解决方案,帮助用户实现设备统一管理和自动化场景设置。

weixin_29192141的博客 1050

Shared Libraries

<br /> 原文:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html另外,该文章的出处为《Program Library HOWTO》,颇值得一读。先记录下来,有时间慢慢看。--------------------------------------------------淡淡的分割线-----------------------------------------------------------------------<

Bo Yang's Blog 1206

在PLC中将十六进制数据转换为浮点数(通常遵循IEEE 754标准)需要理解数据存储格式,并按以下步骤操作:

通过以上步骤,您可以在PLC中实现十六进制到浮点数的转换。T DBD20 // 将数据传送到浮点数变量(如DB1.DBD20)指数位(8位):实际指数 = 存储值 - 127(偏移量)。:必须确认PLC的存储顺序(大端或小端),否则结果错误。将两个16位寄存器合并为32位数据,需注意。尾数位(23位):隐含前导1,实际值为。:确保32位数据在寄存器中连续且对齐。符号位(1位):0表示正,1表示负。:高位寄存器在前(如西门子PLC)。:低位寄存器在前(如三菱FX系列)。,误差因截断导致)。

K11mvp的博客 4418

aapt在linux(centos)下32bit和64bit下的配置

在做一个app store,而有些app的名称和logo不完整,因此需要从apk包中

李战磊专栏 7876

GNSS数据处理新手避坑:手把手教你用GAMP_GOOD下载IGS/MGEX数据(附.cfg文件详解)

本文详细介绍了如何使用GAMP_GOOD进行GNSS数据处理,从基础配置到高级参数调优,帮助新手避开常见错误。内容包括软件安装、配置文件详解、数据源选择、测站文件配置以及性能优化技巧,特别适合GNSS数据处理初学者快速上手。

weixin_30338481的博客 390

Spyglass功耗分析:从RTL到优化的全流程实践

本文详细介绍了在RTL设计阶段使用Spyglass进行早期功耗分析的全流程实践。通过一个真实项目案例,阐述了早期功耗分析的必要性,并手把手指导了从文件准备、GUI操作到报告解读与优化的完整步骤。文章重点说明了如何利用Spyglass实现功耗分析的“左移”,在编码阶段识别和修复功耗热点,从而避免后期高昂的修改成本,是低功耗芯片设计的关键技能。

purple的博客 1116

XtraBackup的二进制的安装

这种安装方法也很简单,不象rpm包需要安装依赖包,只需解压安装文件,为了方便可创建软连接。1.检查libgcrypt的版本:[root@qht131 home]# rpm -aq | grep libgcrypt libgcrypt-1.4.5-9.el6_2.2.x86_64版本是1.4.5,下载对应的XtraBackup版本https://www.percona.com/downloads/X...

jolly10的专栏 2566

国密USB Key开发实战:SKF库调用全流程解析(附代码示例)

本文详细解析了国密USB Key开发中SKF库的调用全流程,涵盖从设备枚举、应用容器遍历到数字签名与验证的核心步骤。通过实战代码示例,深入探讨了SKF库的层次化模型、SM2签名实现细节以及纯软件验签方案,为开发电子签章、安全登录等合规应用提供了一套完整的调用开发指南。

oo7890的博客 526

Windows下通过Cygwin编译安装Samtools:生物信息学数据分析环境搭建指南

在生物信息学数据分析领域,处理高通量测序数据是核心任务之一,其中SAM/BAM/CRAM格式是存储序列比对结果的标准。为了高效操作这些格式,研究人员通常依赖Linux/Unix环境下的专业工具链。其原理在于这些工具(如Samtools)深度依赖POSIX系统调用和特定的开发库(如zlib),以实现数据的快速压缩、索引和随机访问。这一技术价值在于能极大提升基因组数据分析流程的自动化程度与可重复性,广泛应用于变异检测、基因表达定量等场景。对于主要使用Windows系统的用户,直接运行这些工具存在环境兼容性挑战。

weixin_30471561的博客 494

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mvn 编译成功 tomcat 启动找不到类_Win10下Hadoop3.1.2编译

首先在https://hadoop.apache.org/releases.html获取源码包"hadoop-3.1.2-src.tar.gz",解压后打开其中的BUILDING.txt,开头就说明了编译需要的工具:✅JDK 1.8✅Maven 3.3 or later:用来下载源码pom中的各种依赖✅ProtocolBuffer 2.5.0:用于用于分布式应用之间的数据通信或者异构环境下的数据交...

weixin_39606638的博客 308

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

win 7下ffmpeg平台和Android联合编译ndk rc7和ffmpeg harmony(最后还是改为r5)

恩。。前面弄好了ndk和cgwin之后开始进行FFmepeg的搭建。。前面的图都没了啊啊  参考http://www.cnblogs.com/scottwong/archive/2011/06/26/2090625.html 1、去FFmpeg官网下载要用的东西 http://ffmpeg.zeranoe.com/builds/这个是win下的 http://ffmpeg.org/官网

Make My First Step 5589

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

在windows下使用cygwin编译windows可用的Tengine

cygwin,编译环境的安装和必要的编译软件包请自行百度并安装。将以下源码放到同一个文件夹。

xumenghe1989的博客 443

nginx在cygwin源码编译和安装

Nginx介绍: nginx("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、

4078

cygwin 编译windows nginx

参考链接。

zengliguang的专栏 575

Win10下通过源码编译安装QGIS

Win10下通过源码编译安装QGIS

yilvyangguang520的博客 1488

dist包编译html_Win10下Hadoop3.1.2编译

首先在https://hadoop.apache.org/releases.html获取源码包"hadoop-3.1.2-src.tar.gz",解压后打开其中的BUILDING.txt,开头就说明了编译需要的工具:✅JDK 1.8✅Maven 3.3 or later:用来下载源码pom中的各种依赖✅ProtocolBuffer 2.5.0:用于用于分布式应用之间的数据通信或者异构环境下的数据交...

weixin_35840528的博客 167

Hadoop2.7.7源码编译(Windows7)

源码包准备【hadoop-2.7.7-src.tar.gz】 略 解压后找到构建说明【BUILDING.txt】,看一下基本要求都有什么 * Windows System Windows7 * JDK 1.7+ * Maven 3.0 or later * Findbugs 1.3.9 (if running findbugs) findbugs -version ...

一名假的程序猿 1706

DDS源码编译

源码下载地址:http://www.prismtech.com/download-documents/736 Building and Installing OpenSplice DDS from a Source Bundle POSIX / Linux Minimal Build Required Tools NOTE: The list of tools b

固本培元的专栏 4412

Windows 10 x64 下编译 Hadoop 源码

Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中说明了编译源码需要的软件环境: 1. 具体如下: [x] Hadoop源码 [x] Windows 系统 [x] JDK 1.8+ [x] Maven 3.0 or later [x] ...

anghiking20140716的博客 249

下载最新的Google Chrome源码并编译

之所以这么喜欢chrome,就是因为它开放。与firefox不同,ff使用了mozilla的一些技术:xul、xpcom,而且编译过程非常复杂,不适合研究学习。chrome使用了最普通的lib:WTL、zlib、libpng、sqlite、webkit,连v8也不是专门为chrome开发的,它甚至可以独立在命令行中解释js代码。编译过程中使用了最最最平常不过的工具python,svn,cygwin...

helpbs 165
上一篇: 编程之思考
下一篇: C++中的字节对齐,以及空结构体,数组,union类型,class占用内存长度该如何计算
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值