我试图在Ubuntu 16.04上编译Linphone。当我尝试这样做时,我遇到以下错误:
Scanning dependencies of target bellesip
make[6]: Leaving directory '/home/user/linphone-desktop/WORK/Build/bellesip'
make[6]: Entering directory '/home/user/linphone-desktop/WORK/Build/bellesip'
[ 4%] Building C object src/CMakeFiles/bellesip.dir/auth_event.c.o
[ 6%] Building C object src/CMakeFiles/bellesip.dir/auth_helper.c.o
[ 7%] Building C object src/CMakeFiles/bellesip.dir/belle_sdp_impl.c.o
[ 9%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_dict.c.o
[ 10%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_headers_impl.c.o
[ 12%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_loop.c.o
[ 13%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_object.c.o
[ 15%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_parameters.c.o
[ 16%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_resolver.c.o
[ 18%] Building C object src/CMakeFiles/bellesip.dir/belle_sip_uri_impl.c.o
/home/user/linphone-desktop/submodules/belle-sip/src/belle_sip_uri_impl.c: In function ‘belle_sip_uri_equals’:
/home/user/linphone-desktop/submodules/belle-sip/src/belle_sip_uri_impl.c:304:25: error: self-comparison always evaluates to false [-Werror=tautological-compare]
} else if (uri_a->user != uri_a->user) {
^~
cc1: all warnings being treated as errors
src/CMakeFiles/bellesip.dir/build.make:304: recipe for target 'src/CMakeFiles/bellesip.dir/belle_sip_uri_impl.c.o' failed
make[6]: *** [src/CMakeFiles/bellesip.dir/belle_sip_uri_impl.c.o] Error 1
make[6]: Leaving directory '/home/user/linphone-desktop/WORK/Build/bellesip'
CMakeFiles/Makefile2:103: recipe for target 'src/CMakeFiles/bellesip.dir/all' failed
make[5]: *** [src/CMakeFiles/bellesip.dir/all] Error 2
make[5]: Leaving directory '/home/user/linphone-desktop/WORK/Build/bellesip'
Makefile:138: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/user/linphone-desktop/WORK/Build/bellesip'
CMakeFiles/EP_bellesip.dir/build.make:116: recipe for target '/home/user/linphone-desktop/WORK/Stamp/EP_bellesip/EP_bellesip-build' failed
make[3]: *** [/home/user/linphone-desktop/WORK/Stamp/EP_bellesip/EP_bellesip-build] Error 2
make[3]: Leaving directory '/home/user/linphone-desktop/WORK/cmake'
CMakeFiles/Makefile2:894: recipe for target 'CMakeFiles/EP_bellesip.dir/all' failed
make[2]: *** [CMakeFiles/EP_bellesip.dir/all] Error 2
make[2]: Leaving directory '/home/user/linphone-desktop/WORK/cmake'
Makefile:83: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/user/linphone-desktop/WORK/cmake'
Makefile:5: recipe for target 'all' failed
make: *** [all] Error 2
据我所知,出现此错误是因为警告被视为错误,因此警告会停止编译。如果是这种情况,我怎样才能防止Linphone将警告视为错误?否则,我怎样才能让Linphone编译?
我现在编制的程序如下:
sudo apt-get -y install \
git \
build-essential \
automake \
autoconf \
libtool \
intltool \
libgtk2.0-dev \
libspeexdsp-dev \
libavcodec-dev \
libswscale-dev \
libx11-dev \
libxv-dev \
libgl1-mesa-dev \
libreadline-dev \
libgsm1-dev \
libtheora-dev \
libsqlite3-dev \
libupnp-dev \
libsrtp-dev \
open-vm-tools \
open-vm-tools-dev \
cmak* \
libmbedtls-dev \
libmbedtls-doc \
libmbedtls10 \
libcunit1 \
libcunit1-dev \
libantlr3c-dev \
libantlr3-runtime-java \
antlr3 \
libortp-dev \
libortp9 \
libmediastreamer-base3 \
libmediastreamer-dev \
extra-cmake-modules \
yasm
git clone https://github.com/BelledonneCommunications/linphone-desktop.git
cd linphone-desktop
git submodule sync && git submodule update --init --recursive
./prepare.py
make