PJSIP2.0使用以及交叉编译存在问题解决
http://blog.sina.com.cn/s/blog_703121450101ajyt.html 一、.Pjsip 的 交叉编译./configure –host=arm-none-linux-gnueabi –target=arm-none-linux-gnueabi生成的动态库 在交叉编译工具文件夹下 如果在开发板上运行程序的时候需要动态库,把此文件夹下的动态库拷贝到开
http://blog.sina.com.cn/s/blog_703121450101ajyt.html
一、.Pjsip 的 交叉编译
./configure –host=arm-none-linux-gnueabi –target=arm-none-linux-gnueabi
生成的动态库 在交叉编译工具文件夹下 如果在开发板上运行程序的时候需要动态库,把此文件夹下的动态库拷贝到开发板的/usr/lib 下即可。
2.运行程序
会提示
Unable to find default audio device
这样的错误
1.
2.
二、下面以 unbuntu 安装 als a 1.0.23 版本为例
1、下载alsa-1.0.23驱动
alsa-driver-1.0.23.tar.bz2
alsa-lib-1.0.23.tar.bz2
alsa-utils-1.0.23.tar.bz2
2、查看机器所用的声卡芯片组
下面的步骤也可以参照http://www.alsa-project.org/main/index.php/Matrix:Module-hda-intel所述。
3、解压缩并安装了alsa-driver-1.0.23包
# make
4、解压缩并安装了alsa-lib-1.0.23包
# make
5、解压缩并安装了alsa-utils-1.0.23包
这一步出错,错误为:configure: error: panelw library not found 解决方法如下:
重新执行#./configure
# make
又报错,错误为:
make[2]: xmlto: Command not found
make[2]: *** [alsactl_init.7] Error 127
也就是没有xmlto,安装就好了,
6、将驱动加入到内核
7、重启系统,OK。可以使用alsactl -v查看驱动版本
三.运用pjsip 库 编译 应用程序 可以利用PKG-CONFIG工具
一般来说,如果库的头文件不在/usr/include 等 目录中 那么在编译的时候需要用 –I 参数指定其路径 由于一个库在不同的系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库 由于库的路径的不同,造成了用-I参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一,如果使用-L参数,也会造成连接界面的不统一,编译和连接界面不统一会为库的使用带来麻烦
设置PKG_CONFIG_PATH 指向.pc文件所在的目录
安装完pjsip 后 在/usr/local/lib/pkgconfig 下 会有一个名为 libpjproject.pc 的文件
四、在pjsip2.0定义了 PJMEDIA_HAS_VIDEO=1之后 将会支持视频
将会报错下面四个变量没有定义,打开指定文件 定义
#define SDL_YV12_OVERLAY
在pjmeida/src/pjmedia-videodev/sdl_dev.c 中
找不到 SDL_pow 的定义
在SDL 库中 的 src/video下 的SDL_pixels.c 中 增加这个函数的定义
SDL_Init
支持视频可能要依赖SDL
这三个文件的交叉编译在上篇已经说过,这里不再累赘。
更多推荐
所有评论(0)