openssl、libosip2、libeXosip2三个库的编译过程

有同事最近要使用到sip的东东,需要使用到openssl、libosip2、libeXosip2这三个库,具体干嘛的我还不清楚,最近事多,头脑不太清醒,也不想记那些跟自己没关系的事。

不过山人自认为对开源库的交叉编译还是很在行的,也没把这个放在以上,以为不难,结果还是花了一点时间去完成。从上网找资料到真正完成编译,大约花了2个多小时吧,其间断断续续干了些其它事,还包括下班回来继续做的时间。

其中主要是对交叉编译的选项不理解而导致花那么多时间的。下面记录一下自己编译的步骤以备忘。下文没有写解压各个库的过程,因为这个步骤十分简单,不用写出来了。最主要是下面各项的编译参数的设置。

一、编译openssl-0.9.8e:

1、
./Configure linux-elf-arm -DB_ENDIAN linux:'arm_v5t_le-gcc' --prefix=/home/latelee/bin/sip_new/ssl
(注1:在该平台上不支持动态库,如果添加shared选项,会在Configure后面提示的。)
(注2:--prefix是指定openssl的静态库及头文件目录,后面编译其它库时要用到)
2、
make
3、
make install
(因为要安装手册,所以install这步要花点时间,在configure没找到不安装手册的选项)

 二、编译libosip2-3.6.0

1、
./configure --prefix=/home/latelee/bin/sip_new/libosip2 CC=arm_v5t_le-gcc --host=arm-linux -enable-static
2、
make ;
3、
make install


 三、编译libosip2-3.6.0

1、
./configure --prefix=/home/latelee/bin/sip_new/libeXosip2 CC=arm_v5t_le-gcc --host=arm-linux --disable-tools --disable-debug --disable-trace --enable-openssl --enable-static CFLAGS='-I/home/latelee/bin/sip_new/libosip2/include -I/home/latelee/bin/sip_new/ssl/include' LDFLAGS='-L/home/latelee/bin/sip_new/libosip2/lib -L/home/latelee/bin/sip_new/ssl/lib/' LIBS='-lssl -lcrypto'
2、
make


出现编译错误:
eXtl_udp.c:181: 错误: `retval' undeclared (first use in this function)

==>解决:
找到该文件,将retval改为res

3、make install


示例代码:

#include <sys/types .h> /* See NOTES */
#include <sys/socket .h>
#include <netinet/in .h>
#include <eXosip2/eXosip .h>

int main( void)
{
int i;

i = eXosip_init(); // 初始化eXosip和osip协议栈

if (i != 0)
return - 1;

i = eXosip_listen_addr (IPPROTO_UDP, NULL, 5060, AF_INET, 0); // 打开信号socket

if (i != 0) // 传输层初始化失败
{
eXosip_quit();

return - 1;
}
return 0;
}

编译命令:

#arm_v5t_le-gcc test .c -I/home/latelee/bin/sip_new/libeXosip2/include -I/home/latelee/bin/sip_new/libosip2/include -L/home/latelee/bin/sip_new/libeXosip2/lib/ -L/home/latelee/bin/sip_new/libosip2/lib -leXosip2 -losip2 -losipparser2

 

山人记于即日凌晨

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 编译 OpenSSL 过程: 1. 下载 OpenSSL 的源代码包,解压缩到某个目录下。 2. 执行 ./config 命令进行配置,可以指定一些选项,例如编译平台、安装位置等。如果没有特别需求,可以直接执行 ./config 默认选择。 3. 执行 make 命令进行编译,这个过程可能会比较漫长,需要耐心等待。 4. 编译完成后,执行 make install 命令进行安装,这会把编译好的文件和头文件安装到指定的位置。 5. 验证安装是否成功,可以执行 openssl version 命令,如果能够输出版本号,则表示安装成功。 需要注意的是,在编译 OpenSSL过程中,可能会涉及到一些依赖的安装,例如 zliblibssl 等,需要提前安装好。同时,为了保证安全性,建议在编译 OpenSSL 的时候开启 FIPS 模式,这样可以增强加密算法的安全性。 ### 回答2: 编译SRS(Simple-RTMP-Server)是一个功能强大的开源媒体服务器,用于流媒体的处理和分发。下面是编译SRS时编译OpenSSL过程记录。 首先,确保已经安装了必要的软件和依赖项。使用`apt-get`或`yum`安装以下软件包: ``` sudo apt-get install build-essential sudo apt-get install libssl-dev ``` 接下来,下载OpenSSL源代码并解压: ``` wget https://www.openssl.org/source/openssl-1.1.1.tar.gz tar -xzvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ``` 进入OpenSSL源代码目录后,首先运行配置命令: ``` ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared ``` 这里的`prefix`参数指定了OpenSSL的安装路径,`openssldir`参数指定了配置文件的位置。`shared`选项用于编译共享。 运行配置命令后,运行以下命令进行编译: ``` make sudo make install ``` 这将开始编译OpenSSL并将其安装到指定的安装路径。 编译完成后,可以通过运行以下命令检查OpenSSL的安装情况: ``` /usr/local/openssl/bin/openssl version -a ``` 这将显示已安装的OpenSSL版本和其他详细信息。 最后,在编译SRS时,使用`--with-ssl`选项指定编译使用的OpenSSL的位置。示例命令如下: ``` ./configure --with-ssl=/usr/local/openssl make sudo make install ``` 这样,就完成了在编译SRS时编译OpenSSL过程。通过这个过程,可以确保SRS在运行时能够正确地使用和依赖于OpenSSL。 ### 回答3: 编译SRS (Simple RTMP Server) 是一种Linux操作系统的编译过程,而编译OpenSSL是其中的一部分。 首先,我们需要从官方网站上下载SRS的源代码。然后,解压缩下载的文件,并进入解压后的目录。 在编译之前,我们需要确保Linux系统已经安装了GCC、make、autoconf、g++以及其他必要的依赖。这些依赖项可以通过包管理器进行安装。 接下来,我们需要在终端中运行"./configure"命令,该命令将检查系统环境并生成编译配置文件。 一旦配置完成,我们可以运行"make"命令来进行编译。这个过程可能需要一些时间,具体取决于系统配置和源代码的大小。 一旦编译完成,我们可以运行"SRS"命令来启动服务器。在启动服务器之前,我们可以根据需要编辑配置文件,以便自定义服务器的行为。 当涉及到编译OpenSSL时,我们需要在SRS的源代码目录下进一步操作。 首先,我们需要下载OpenSSL的源代码。然后,解压缩下载的文件,并进入解压后的目录。 在终端中运行"./config"命令来为OpenSSL生成编译配置文件。我们可以通过添加参数来自定义配置选项,以满足特定需求。 接下来,我们可以运行"make"命令来进行编译。这个过程可能需要一定的时间,具体取决于系统配置和源代码的大小。 一旦编译完成,我们可以运行"make install"命令来安装编译后的OpenSSL文件。 现在,我们可以回到SRS的源代码目录,然后重新运行"./configure"命令,确保编译过程能够正确地找到OpenSSL。 最后,我们可以运行"make"命令来重新编译SRS,以确保它能够正确地链接和使用OpenSSL。 通过以上过程,我们就成功完成了SRS和OpenSSL编译过程。这将使我们能够在Linux系统上使用SRS服务器,并为其配置和定制安全性选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值