Я компилирую pjsip 2.10 с помощью msys2:
1) откройте консоль msys2: C:\msys64\msys2_shell.cmd
2) Запустите их для обновления:
pacman -Sy
pacman --needed -S bash pacman pacman-mirrors msys2-runtime
pacman -Su
pacman -S perl
pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
pacman -S base-devel
3) Перезапустите консоль msys2
4) экспорт PATH = "/ c / msys64 / mingw32 / bin /: $ PATH"
5) Конфигурация:
./configure --prefix=$PWD/dist_mingw --disable-ffmpeg --enable-shared --disable-video --disable-speex-aec --disable-speex-aec --disable-g711-codec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-vpx --disable-opus --disable-libyuv --disable-libwebrtc
6) make CFLAGS+="-DPJ_WIN32=1 -DPJ_M_I386=1 -D_LIB -DWIN32 -DPJ_M_I386=1"
7) Но ошибка:
output/pjlib-x86_64-pc-msys/log.o:log.c:(.text+0xcb): undefined reference to `pj_time_decode'
output/pjlib-x86_64-pc-msys/ssl_sock_ossl.o:ssl_sock_ossl.c:(.text+0x205): undefined reference to `pj_time_encode'
output/pjlib-x86_64-pc-msys/ssl_sock_dump.o:ssl_sock_dump.c:(.text+0x9c): undefined reference to `pj_time_decode'
output/pjlib-x86_64-pc-msys/ssl_sock_dump.o:ssl_sock_dump.c:(.text+0xb2): undefined reference to `pj_time_decode'
8) Как я вижу, pj_time_encode
находится в pjproject-2.10\pjlib\src\pj\os_time_win32.c
, но этот файл не компилируется. Вместо этого был скомпилирован файл os_time_unix.c
. Думаю, причина в этом. Итак, как заставить компилировать файл os_time_win32.c
вместо os_time_unix.c
.
Я плохо разбираюсь в make-файлах, поэтому мне сложно настраивать сборку. Спасибо большое!