1 Star 0 Fork 0

greatitman / go_pjproject

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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

Empty file

About

No description expand collapse
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/greatitman/go_pjproject.git
git@gitee.com:greatitman/go_pjproject.git
greatitman
go_pjproject
go_pjproject
master

Search