乐于分享
好东西不私藏

uos x86上编译libetpan源码

uos x86上编译libetpan源码

一、编译难易度概述
一些三方库对linux很友好的,该库采用的是configure.ac 配置生成makefile的方法,不符合现在的主流cmakelist编译的方法,所以在windows和鸿蒙上不是很好编译。
该库提供了windows 的visula studio版本工程目录,不用详细研究具体编译脚本,还是可以的。以后可以研究研究它是怎么加到visual studio工程的。
在鸿蒙上需要使用鸿蒙的那套编译架构去移植稍微修改一下。
该库有其他三方库的依赖(zlib、openssl),需要加配置选项。
二、下载库源码
libetpan 在针对个人开发时,做了一些微修改,所以此处从本地仓库git上下载源码。开源仓库在github上下载。
如下是libetpan的库源码目录:
third-party是libetpan所依赖的三方库可执行结果目录,这个目录windows是提供的现成的,不用另外编译。
uos x86没有现成的.so和.a,需要自己编译。
在libetpan的README上官方给出的说明是这样的:
按照指令我先安装一下基础工具:
sudo apt-get install autoconfsudo apt-get install automakesudo apt-get install libtool
执行autogen.sh生成
//进入linetpan源码sudo ./autogen.sh
执行sudo make即可完成编译。
编译后的结果所在目录:
根目录/src/.libs:
-lz 链接的是 zlib,一个非常基础和数据压缩库,提供了 compress、uncompress、gzread 等一系列核心压缩和解压缩函数。
以下是生成的库链接的其他三方库文件信息:
可以看出 已经找到了 zlib和openssl库的信息,这两个库是安装uos系统时自带的,无特殊版本需求,不用自己编译源码安装了。
使用test下的测试用例测试imap 993 ssl 加密连接会失败返回错误5。
原因是缺少sasl库,如果缺少该库,虽然编译可以通过,但是在使用时imap/smtp无法使用加密连接,所以要预先编译一下该库:
在github上下载源码:

https://github.com/cyrusimap/cyrus-sasl

下载后直接执行:
sudo  sh autogen.sh
sudo make
sudo make install 安装到系统目录即可。
打包的时候别忘了包含进去就行。
然后到libetpan下的tests目录,执行imap_sample测试即可,测试结果是成功的。
测试smtp发信:
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » uos x86上编译libetpan源码

评论 抢沙发

2 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮