gpt4 book ai didi

c++ - 错误 : Compiling simple PjSIP program under ubuntu

转载 作者:太空狗 更新时间:2023-10-29 12:08:16 24 4
gpt4 key购买 nike

我正在尝试在 ubuntu 下编译简单的 PjSIP 程序。我收到错误

/usr/bin/ld: cannot find -lpjsua-i686-pc-linux-gnu

这是什么意思?

这是输出:-

root@mypc-desktop:/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/pjlib-util/include -I/home/mypc/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/mypc/pjproject-1.4.5/pjlib/lib -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/pjsip/lib -L/home/mypc/pjproject-1.4.5/third_party/lib -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-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 -lresample-i686-pc-linux-gnu -lmilenage-i686-pc-linux-gnu -lsrtp-i686-pc-linux-gnu -lgsmcodec-i686-pc-linux-gnu -lspeex-i686-pc-linux-gnu -lilbccodec-i686-pc-linux-gnu -lg7221codec-i686-pc-linux-gnu -lportaudio-i686-pc-linux-gnu -lpj-i686-pc-linux-gnu -lm -lnsl -lrt -lpthread

/usr/bin/ld: cannot find -lpjsua-i686-pc-linux-gnu
collect2: ld returned 1 exit status
make: *** [myapp] Error 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;
}

这是一个生成文件

#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 时出错

make[2]: Entering directory /home/mypc/pjproject-1.4.5/pjnath/build'
gcc -c -Wall -DPJ_AUTOCONF=1 -O2<br/>
-Wno-unused-label -Werror -I../include -I../../pjlib/include -I../../pjlib-util/include \ -o output/pjnath-i686-pc-linux-gnu/stun_session.o
\ ../src/pjnath/stun_session.c cc1:
warnings being treated as errors
../src/pjnath/stun_session.c: In
function ‘apply_msg_options’:
../src/pjnath/stun_session.c:230:
error: suggest parentheses around &&
within || make[2]: ***
[output/pjnath-i686-pc-linux-gnu/stun_session.o]
Error 1 make[2]: Leaving directory
/home/mypc/pjproject-1.4.5/pjnath/build' make[1]: * [pjnath] Error 2 make[1]: Leaving directory `/home/mypc/pjproject-1.4.5/pjnath/build' make: * [all] Error 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_CFLAGS) 并将其删除(-Werror,如果添加了其他标志,则不是整行:)。

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

编辑:
刚刚读到您没有发现 -Werror。您能否将 stun_session.c 的第 230 行或生成文件粘贴到某处?
首选源代码行。

关于c++ - 错误 : Compiling simple PjSIP program under ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com