我正在尝试使用MinGW在我的Windows 7 PC上构建具有Windows操作系统视频支持的PJSIP。 遵循PJSIP的官方指南: http://trac.pjsip.org/repos/wiki/Getting-Started/Autoconf#VideoSupportfor2.0andabove
在没有视频支持的情况下构建PJSIP对我来说是预期的。
我在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也有同样的错误。
答案 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[])