【希望对你有帮助】 建议你看看编程的一些基础知识 - 经典hello word 程序 #include int mian() { printf("hello world!\n"); return 0; } - 编译 -进入终端 -进入源文件所在的目录 $ gcc hello.c -o hello - 运行 $ ./hello
❷ 在VS2010下PJSIP编译失败
是不是和extern "C"有关。
main是.c文件, 其它是.cpp文件吗?
❸ 如何用c++调用pjsip库实现一个简单的sip服务器
1、开源的sip服务器端,比较好用的是Asterisk,标准C程序实现,代码清晰。
2、sip的client相对比较多,主要有exosip,pjsip和opal。exosip简单易用,在PC上用比较方便。但是涉及的相关资源太多,用了osip,srtp,ms2等众多的开源库,ms2下面还用到了ffmpeg,别的不说,光编译就是噩梦。opal功能最强,虽然也用到了ffmpeg ,但是自己封装的非常好,采用插件方式,调用灵活。opal采用class方式提供封装,接口非常友好。感觉唯一不爽的地方,就是低层使用了ptlib,虽然多平台下都很好用,但放在嵌入式下感觉稍庞大了一些。pjsip精巧,方便移植,嵌入式下应该是首选。不过视频频支持方面扩展起来比opal麻烦。个人感觉,对于windows开发者来说,pjsip最大的好处就是代码调试方便。整个工程一次编译通过,另外两个库还要找很多相关的资源
。
3、其他的一些协议栈也调试过,比如reSipphone,好象是这个名字,还有Yate,不过从快速开发角度看,都不太合适。现在搞sip开发的,一开始就是先找好协议栈。linphone,ekiga什么的,但庞大。对于刚开始做的,最好是一个精简的demo。后来找到pjsip下面的几个例子,慢慢地了解了sip的工作流程,当然少不了抓包工具和tcpmp。
不过,其实,sip没有想象中的那么麻烦。现在回头看,刚开始做项目,使用协议栈绝对不是好想法。如果换个方向,先熟悉SIP基本协议,然后自己改造一个,或完全写一个,可能效果更好。
❹ 编译运行pjsip的sample出现问题
修改config_site.h文件 在pjproject-2.4.5\pjlib\include\pj目录下 增加 #define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
❺ Csipsimple编译问题
断点调试看看嘛。把参数的class打印出来看看。
❻ codeblocks+mingw,msys编译pjsip
官网不是有下载吗?况且下载的codeblocks自带mingw哦 官网http://www.codeblocks.org/
❼ 现在在学习EXOSIP,请问谁有可以编译的DEMO ,在windows下面的。资料很少,能否提供下资料。
NEW给指针成员分配可用内存空间啊!
记得在析构函数中完成成员的内存释放就好
记得不要多次给同一个成员NEW操作,如有必要,须得先DELETE释放已分配的空间,再NEW操作
如:
。。。。
char *p=NULL;
.....
if ( p ) delete []p;
p=new char[10];
❽ pjsip 编译android 为什么会去执行ios的make
第一步是生成 pjsip 为 Android (步骤为 Ubuntu Linux) 的源代码:
1.设置 ANDROID_NDK_ROOT 环境变量设置为您 NDK 根文件夹。
2.转到 pjsip 2.x 文件夹并创建 pjlib/include/pj/config_site.h 包括 config_site_sample.h ( #include config_site_sample.h> )
3.运行./configure-android
4.运行make clean && make depend && make
之后这些步骤,将有几个静态库中的几个文件夹。建议将它们分组相同的文件夹 (最好在您的项目中) 中的:
mkdir /pjsip_libs
find . -name *.a | xargs -I % cp % /pjsip_libs/
一旦自己的所有库,您需要将这些库添加到您的项目 Android.mk 文件,这是由包括一个新的模块节每个图书馆。此模块部分应该是一样的东西:
include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
include $(PREBUILT_STATIC_LIBRARY)
,其实是一节中构建您的 JNI 项目的源代码,所有模块都添加到您的静态库的引用:
LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi ...
这将包括 pjsip 的引用加入您的 JNI 库。现在,您需要配置 pjsip UA 实例。
有一个关于 init 和开始的解释 pjsip 的 UA (pjsua) 在 pjsip/include/pjsua-lib/pjsua.h 但要遵循的主要步骤是:
1.创建一个具有 UA 实例pjsua_create
2.创建一个工作线程与pj_thread_create
3.UA 实例的设置的默认配置:
pjsua_config cfg 桩 ;pjsua_logging_config log_cfg ;pjsua_media_config media_cfg ;
pj_cli_cfg_default(&app_config.cli_cfg.cfg) ;pjsua_logging_config_default(&log_cfg) ;pjsua_media_config_default(&media_cfg) ;
4.初始化堆栈与pjsua_init
5.启动与堆栈pjsua_start
从这里,有充足的配置选项 (日志、 媒体、 交通工具等)
您可以找到基本 PJSIP 教程在这里,和里面 pjsip 的源的根路径,有一个基本 (但不够完整,基本的 SIP 使用情况) 在:pjsip-apps/src/samples/simple_pjsua.c
编辑:在生成时在 pjsip 应用程序的 android 项目,可以面临一个问题,因为 pjsua app 不生成默认情况下,对一般生成 (更具体地说,pjsua: 目标不包括所有上: 在 pjsip-应用程序/生成/生成文件的目标)。若要修复这只是转到 pjsip-应用程序/创建和运行:
使 pjsua
这将创建在正确的对象文件: pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/ (需要构建 android 样本时)。
一旦所有相应的对象文件,您可以在 pjsip-应用程序/src/pjsua/android 系统再次运行 ndk 生成
❾ 如何在 android 设备上使用 pjsip G.729 编解码的功能
第一步是生成 pjsip 为 Android (步骤为 Ubuntu Linux) 的源代码:
1.设置 ANDROID_NDK_ROOT 环境变量设置为您 NDK 根文件夹。
2.转到 pjsip 2.x 文件夹并创建 pjlib/include/pj/config_site.h 包括 config_site_sample.h ( #include <pj/config_site_sample.h> )
3.运行./configure-android
4.运行make clean && make depend && make
之后这些步骤,将有几个静态库中的几个文件夹。建议将它们分组相同的文件夹 (最好在您的项目中) 中的:
mkdir <your_project_path>/pjsip_libs
find . -name *.a | xargs -I % cp % <your_project_path>/pjsip_libs/
一旦自己的所有库,您需要将这些库添加到您的项目 Android.mk 文件,这是由包括一个新的模块节每个图书馆。此模块部分应该是一样的东西:
include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
include $(PREBUILT_STATIC_LIBRARY)
,其实是一节中构建您的 JNI 项目的源代码,所有模块都添加到您的静态库的引用:
LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi ...
这将包括 pjsip 的引用加入您的 JNI 库。现在,您需要配置 pjsip UA 实例。
有一个关于 init 和开始的解释 pjsip 的 UA (pjsua) 在 pjsip/include/pjsua-lib/pjsua.h 但要遵循的主要步骤是:
1.创建一个具有 UA 实例pjsua_create
2.创建一个工作线程与pj_thread_create
3.UA 实例的设置的默认配置:
pjsua_config cfg 桩 ;pjsua_logging_config log_cfg ;pjsua_media_config media_cfg ;
pj_cli_cfg_default(&app_config.cli_cfg.cfg) ;pjsua_logging_config_default(&log_cfg) ;pjsua_media_config_default(&media_cfg) ;
4.初始化堆栈与pjsua_init
5.启动与堆栈pjsua_start
从这里,有充足的配置选项 (日志、 媒体、 交通工具等)
您可以找到基本 PJSIP 教程在这里,和里面 pjsip 的源的根路径,有一个基本 (但不够完整,基本的 SIP 使用情况) 在:pjsip-apps/src/samples/simple_pjsua.c
编辑:在生成时在 pjsip 应用程序的 android 项目,可以面临一个问题,因为 pjsua app 不生成默认情况下,对一般生成 (更具体地说,pjsua: 目标不包括所有上: 在 pjsip-应用程序/生成/生成文件的目标)。若要修复这只是转到 pjsip-应用程序/创建和运行:
使 pjsua
这将创建在正确的对象文件: pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/ (需要构建 android 样本时)。
一旦所有相应的对象文件,您可以在 pjsip-应用程序/src/pjsua/android 系统再次运行 ndk 生成