osip/exosip基础3:建立工程
来源:互联网 发布:两个矩阵对应元素相乘 编辑:程序博客网 时间:2024/05/06 13:55
建立工程,做好调试osip的前期准备。
工程树结构如下:
cjd@cjd:~/sip$ tree -L 2.├── libeXosip2-4.1.0│ ├── aclocal.m4│ ├── AUTHORS│ ├── autogen.sh│ ├── ChangeLog│ ├── configure│ ├── configure.ac│ ├── COPYING│ ├── exosip-config.h.in│ ├── help│ ├── include│ ├── INSTALL│ ├── LICENSE.OpenSSL│ ├── Makefile.am│ ├── Makefile.in│ ├── NEWS│ ├── platform│ ├── README│ ├── scripts│ ├── src│ └── tools├── libosip2-4.1.0│ ├── aclocal.m4│ ├── AUTHORS│ ├── autogen.sh│ ├── BUGS│ ├── ChangeLog│ ├── configure│ ├── configure.ac│ ├── COPYING│ ├── FEATURES│ ├── help│ ├── HISTORY│ ├── include│ ├── INSTALL│ ├── libosip2.pc.in│ ├── Makefile.am│ ├── Makefile.in│ ├── NEWS│ ├── osip-config.h.in│ ├── platform│ ├── README│ ├── scripts│ ├── src│ └── TODO├── makefile├── osip│ ├── bin│ ├── include│ ├── lib│ └── share└── src ├── main.cpp └── makefile
sip/makefile如下:
增加变量OSIPCONFIG为了判断是否需要去配置osip库,不然每次编译都去配置,比较耗时。
OSIPCONFIG = libosip2-4.1.0/MakefileEXOSIPCONFIG = libeXosip2-4.1.0/Makefileall:ifneq ($(OSIPCONFIG), $(wildcard $(OSIPCONFIG))) cd libosip2-4.1.0/ && ./configure --prefix=/home/cjd/sip/osip/endif make -C libosip2-4.1.0/ && make -C libosip2-4.1.0/ installifneq ($(EXOSIPCONFIG), $(wildcard $(EXOSIPCONFIG))) cd libeXosip2-4.1.0/ && ./configure --prefix=/home/cjd/sip/osip/endif make -C libeXosip2-4.1.0/ && make -C libeXosip2-4.1.0/ install make -C src/clean: make -C src/ cleandistclean: make -C libosip2-4.1.0/ distclean make -C libeXosip2-4.1.0/ distclean
sip/src/makefile如下
INCLUDE_PATH = -I../osip/include\ -I../osip/include/osip2\ -I../osip/include/osipparser2\ -I../osip/include/eXosip2LIB_PATH = -L../osip/libSTATIC_LIB = -Wl,-Bstatic -leXosip2 -losipparser2 -losip2SHARED_LIB = -Wl,-Bdynamic -lpthread -lresolvall: MysipMysip: main.o g++ -o Mysip main.o $(LIB_PATH) $(STATIC_LIB) $(SHARED_LIB)main.o:main.cpp g++ $(INCLUDE_PATH) -c main.cppclean: rm -r main.o Mysip
main.cpp示例
#include <iostream>using namespace std;#include "eXosip.h"struct eXosip_t *context_eXosip;int main(){ int lRet; context_eXosip = eXosip_malloc (); if (eXosip_init (context_eXosip)) { cout << "eXosip_init failed" << endl; return 0; } return 0;}
问题:
1、makefile中指定头文件的目录,应该每个目录前加-I,
2、判断文件是否存在,用这种方法还是挺简洁的,
ifneq ($(OSIPCONFIG), $(wildcard $(OSIPCONFIG)))
并且条件语句前无需输入tab。
3、链接时指定静态链接-Wl,-Bstatic,指定动态链接-Wl,-Bdynamic
0 0
- osip/exosip基础3:建立工程
- osip/exosip基础1:编译
- osip/exosip基础2:sipp安装
- exosip 对比osip
- vs2008编译osip/eXosip
- Osip/eXosip Source Code Analysis
- oSIP和eXosip编译过程
- oSIP和eXosip编译过程
- 如何编译osip和exosip
- Windows下编译eXosip、osip
- Clion + Cygwin64 编译 osip + eXosip
- osip和eXosip的区别
- eXosip入门(一):vs2008编译osip/eXosip
- osip及eXosip的编译方法
- Linux、arm-linux下编译osip exosip
- oSIP协议栈(及eXoSIP,Ortp等)使用入门
- 交叉编译VOIP需要的OSIP ExOSIP JRTP
- oSIP协议栈(及eXoSIP,Ortp等)使用入门
- Java (对象间的类型转换)
- jquery datatable客户端分页
- 在调用文件时在路径的前面加的那个点的含义
- Spring面试问答Top 25
- Mac 终端 常用命令
- osip/exosip基础3:建立工程
- 国际化 本地化
- Spring核心技术(五)——Spring中Bean的作用域
- 转岗,你要明白......
- 胃 癌 治疗 药方
- Java - static
- nginx切割字符串、泛域名、kong、转发代理
- Leetcode 175. Combine Two Tables
- USB相关知识