1 Star 0 Fork 0

greatitman / go_pjproject

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Golang PJSIP(Pjproject) using Swig

  1. Generate pjsua2.go pjsua2_wrap.cxx using swig
$ cd $GOPATH/src
$ mkdir pjproject
$ cd pjproject
$ cp ${pjprject-src-dir}/pjsip-apps/src/swig/pjsua2.i .
$ cp ${pjprject-src-dir}/pjsip-apps/src/swig/symbols.i .
$ export CGO_CXXFLAGS="-I${pjproject-install-dir}/include"
$ swig -go -cgo -intgosize 64 $CGO_CXXFLAGS -c++ pjsua2.i
  1. Insert cgo compile, link flags to pjsua2.go
  • CXXFLAGS, LDFLAGS from pkgconfig/libpjproject.pc
package pjsua2

/*
#cgo CXXFLAGS: -I/Data/apphome/lib/static/include -g -O2 -Wno-delete-non-virtual-dtor
#cgo LDFLAGS: -L/Data/apphome/lib/applib -L/usr/local/opt/openssl/lib -lpjsua2-x86_64-apple-darwin17.7.0 -lstdc++ -lpjsua-x86_64-apple-darwin17.7.0 -lpjsip-ua-x86_64-apple-darwin17.7.0 -lpjsip-simple-x86_64-apple-darwin17.7.0 -lpjsip-x86_64-apple-darwin17.7.0 -lpjmedia-codec-x86_64-apple-darwin17.7.0 -lpjmedia-x86_64-apple-darwin17.7.0 -lpjmedia-videodev-x86_64-apple-darwin17.7.0 -lpjmedia-audiodev-x86_64-apple-darwin17.7.0 -lpjmedia-x86_64-apple-darwin17.7.0 -lpjnath-x86_64-apple-darwin17.7.0 -lpjlib-util-x86_64-apple-darwin17.7.0 -lsrtp-x86_64-apple-darwin17.7.0 -lresample-x86_64-apple-darwin17.7.0 -lpj-x86_64-apple-darwin17.7.0 -lssl -lcrypto -lm -lpthread -framework Foundation -framework AppKit

#define intgo swig_intgo
typedef void *swig_voidp;
  1. Go build
$ go clean -cache
$ go build -x
$ go install

空文件

简介

暂无描述 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/greatitman/go_pjproject.git
git@gitee.com:greatitman/go_pjproject.git
greatitman
go_pjproject
go_pjproject
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891