使用MinGW在Windows 7上构建具有视频支持的PJSIP

时间:2014-08-05 11:02:03

标签: video ffmpeg mingw sdl pjsip

我正在尝试使用MinGW在我的Windows 7 PC上构建具有Windows操作系统视频支持的PJSIP。 遵循PJSIP的官方指南: http://trac.pjsip.org/repos/wiki/Getting-Started/Autoconf#VideoSupportfor2.0andabove

在没有视频支持的情况下构建PJSIP对我来说是预期的。

  • 我正在使用SVN的最新PJSIP 2.2.1
  • SDL2-devel-2.0.3-mingw.tar.gz(MinGW 32/64位)
  • 的ffmpeg-20140805-GIT-de41798-的win32-dev的

我在config_site.h文件中添加了“#define PJMEDIA_HAS_VIDEO 1” 我正在使用以下选项构建PJSIP: ./configure --with-ffmpeg =“/ c / PJSIP / ffmpeg”--with-sdl =“/ c / PJSIP / SDL”

但我对SDL有以下编译错误:

c:/PJSIP/SDL/lib/libSDL2main.a(SDL_windows_main.o): In function `console_main':
/Users/slouken/release/SDL/SDL2-2.0.3-source/foo-x86/../src/main/windows/SDL_win
dows_main.c:140: undefined reference to `SDL_main'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [../bin/pjsua2-test-i686-pc-mingw32] Error 1
make[2]: Leaving directory `/c/PJSIP/trunk/pjsip/build'
make[1]: *** [pjsua2-test-i686-pc-mingw32] Error 2
make[1]: Leaving directory `/c/PJSIP/trunk/pjsip/build'
make: *** [all] Error 1

SDL-2.0.2也有同样的错误。

2 个答案:

答案 0 :(得分:0)

好的,所以我能够使用MinGW 64bit进行构建。我想你可以应用我的补丁并为MinGW 32bit构建它。但是,我主要使用64位。我为我的公司维护了一个名为mingle的开源软件。我最近在看到你的帖子时添加了pjsip,并决定用我们的发行版拍摄。我能够建立yasm,sdl,ffmpeg和pjsip。 pjsip确实要求few small changes一直构建。欢迎您下载并试用该补丁。我还添加了构建过程来混合。如果您在单独构建时遇到问题,可以get mingle off github让它为您构建组件和所有依赖项。运行安装程序后,在dos管理模式下运行'setup -b -c',控制台将启动,运行混合,选择:

  

mm)多媒体 - 编解码器,编码器,转换器等......

Mingle应该构建所有依赖项,我的意思是“全部”,一直到pjsip。这需要一段时间。您也可以download our distribution预先构建依赖项,但它非常大。如果您有快速连接,它可以节省时间。我希望有所帮助。

答案 1 :(得分:0)

我遇到了同样的问题并解决了。

修改这些文件:

1,pjsip \ src \ pjsua2-test \ main.cpp

添加#include "SDL.h"

2,pjsip-apps \ src \ samples \ pjsua_demo.cpp

添加#include "SDL.h"

int main()替换为int main(int argc, char *argv[])