C++ 错误:在ubuntu下编译简单的PjSIP程序

C++ 错误:在ubuntu下编译简单的PjSIP程序,c++,linux,sip,pjsip,C++,Linux,Sip,Pjsip,我试图在ubuntu下编译简单的PjSIP程序。我得到的错误是 /usr/bin/ld: cannot find -lpjsua-i686-pc-linux-gnu 这是什么意思 以下是输出:- root@mypc-桌面:/home/mypc/pjsip#make gcc-o myapp-myapp.cpp-DPJ_AUTOCONF=1-O2-I/home/mypc/pjproject-1.4.5/pjlib/include-I/home/mypc/pjproject-1.4.5/pjproj

我试图在ubuntu下编译简单的PjSIP程序。我得到的错误是

/usr/bin/ld: cannot find -lpjsua-i686-pc-linux-gnu
这是什么意思

以下是输出:-

root@mypc-桌面:/home/mypc/pjsip#make

gcc-o myapp-myapp.cpp-DPJ_AUTOCONF=1-O2-I/home/mypc/pjproject-1.4.5/pjlib/include-I/home/mypc/pjproject-1.4.5/pjproject-1.4.5/pjnath/include-I/home/mypc/pjproject-1.4.5/pjmedia/include-I/home/mypc/pjproject-1.4.5/pjsip/include-L/home/pjproject-1.4.5/pjlib/p4.5-L/home/mypc/pjproject-1.4.5/pjlib-util/lib-L/home/mypc/pjproject-1.4.5/pjnath/lib-L/home/mypc/pjproject-1.4.5/pjmedia/lib-L/home/mypc/pjproject-1.4.5/lib-L/home/mypc/pjproject-1.4.5/third_/lib-lpjsua-i686-pc-linux-gnu-jsp-gnu-lpjmedia-codec-i686-pc-linux-gnu-lpjmedia-i686-pc-linux-gnu-lpjmedia-audiodev-i686-pc-linux-gnu-lpjnath-i686-pc-linux-gnu-lpjlib-util-i686-pc-linux-gnu-lmilenage-i686-pc-linux-gnu-lsrtp-i686-pc-linux-gnu-lgsmcodec-i686-linux-gnu-peelsi686-linux-gnu-linux-gnu-lg7221codec-i686-pc-linux-gnu-LPORTADIO-i686-pc-linux-gnu-lpj-i686-pc-linux-gnu-lm-lnsl-lrt-lpthread

/usr/bin/ld:找不到-lpjsua-i686-pc-linux-gnu
collect2:ld返回了1个退出状态
make:**[myapp]错误1

这是代码

#include <pjlib.h>
#include <pjlib-util.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjsip.h>
#include <pjsip_simple.h>
#include <pjsip_ua.h>
#include <pjsua-lib/pjsua.h>

int main()
{
        return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int main()
{
返回0;
}
这是一个生成文件

#Modify this to point to the PJSIP location.
PJBASE=/home/mypc/pjproject-1.4.5

include $(PJBASE)/build.mak

CC      = $(APP_CC)
LDFLAGS = $(APP_LDFLAGS)
LDLIBS  = $(APP_LDLIBS)
CFLAGS  = $(APP_CFLAGS)
CPPFLAGS= ${CFLAGS}

# If your application is in a file named myapp.cpp or myapp.c
# this is the line you will need to build the binary.
all: myapp

myapp: myapp.cpp
        $(CC) -o $@ $< $(CPPFLAGS) $(LDFLAGS) $(LDLIBS)

clean:
        rm -f myapp.o myapp
#将其修改为指向PJSIP位置。
PJBASE=/home/mypc/pjproject-1.4.5
包括$(PJBASE)/build.mak
CC=$(应用程序抄送)
LDFLAGS=$(应用程序\u LDFLAGS)
LDLIBS=$(应用程序_LDLIBS)
CFLAGS=$(应用程序\u CFLAGS)
CPPFLAGS=${CFLAGS}
#如果您的应用程序位于名为myapp.cpp或myapp.c的文件中
#这是构建二进制文件所需的行。
全部:myapp
myapp:myapp.cpp
$(CC)-o$@$<$(CPPFLAGS)$(LDFLAGS)$(LDLIBS)
清洁:
rm-f myapp.o myapp
谢谢

编辑:

我刚刚注意到构建PjSIP时出错

make[2]:进入目录
/home/mypc/pjproject-1.4.5/pjnath/build'
gcc-c-Wall-DPJ_AUTOCONF=1-O2
-Wno未使用的标签-Werror-I../include-I.././pjlib/include-I.././pjlib util/include \-o输出/pjnath-i686-pc-linux-gnu/stun_session.o \../src/pjnath/stun_session.c cc1: 警告被视为错误 ../src/pjnath/stun_session.c:In 函数“应用消息选项”: ../src/pjnath/stun_session.c:230: 错误:建议用括号括起来&& 在| | make[2]之内:*** [output/pjnath-i686-pc-linux-gnu/stun_session.o] 错误1生成[2]:正在离开目录
/home/mypc/pjproject-1.4.5/pjnath/build' 生成[1]:*[pjnath]错误2生成[1]: 离开目录 `/home/mypc/pjproject-1.4.5/pjnath/build' make::[all]错误1


当我试图在出现在
/home/mypc/pjproject-1.4.5/pjnath/build
的make文件中查找-Werror时,
$(PJDIR)/build.mak
$(PJDIR)/build/common.mak
它不存在,没有人知道它可能在哪里?

似乎pj*无法构建必要的库-为了简单的修复,请尝试在
/home/mypc/pjproject-1.4.5/build.mak
中找到该行,其中
-Werror
被添加到
$(APP\u CFLAGS)
(如果添加了其他标志,则为
-Werror
,而不是整行:)

或者,在
src/pjnath/stun_session.c
中的第230行应用gcc建议的修复程序

编辑:
刚刚读到您没有发现任何
-Werror
。您可以将stun\u session.c的第230行或make文件粘贴到某个地方吗?

最好是源代码行。

是否有
pjsua-i686-pc-linux-gnu。因此
/home/mypc/pjproject-1.4.5/pj*
中的一个
中是否有
/home/mypc/pjproject-1.4.5/pj*/lib/
@gf:没有任何一个
$(PJBASE)中都没有/build.mak
build它还是应该已经构建好了?我使用“/configure”、“make dep”和“make”行230:PJ_STUN_is_REQUEST(msg->hdr.type)&&msg->hdr.magic==PJ_STUN_magic”)构建它/home/mypc/pjproject-1.4.5/build.mak-…/home/mypc/pjproject-1.4.5/pjnath/build/Makefile-…/mypc/pjproject-1.4.5/build/common.mak-。。。。src/pjnath/stun_session.c-