我正在尝试在Qt creator中构建P2P应用程序。我对C++没有太多的了解。我安装了Qt,并构建和安装了pjproject库。我添加了pjproject库与pkgconfig,如Adding library to qt project
下面是源代码code on GitHub,
以下是我的.pro文件:
QT += quick
SOURCES += \
main.cpp
resources.files = main.qml
resources.prefix = /$${TARGET}
RESOURCES += resources
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += libpjproject
unix: PKGCONFIG += openssl
字符串
在pjproject目录中,我发现了**./pjsip-apps/src/samples/pjsua2_demo.cpp**文件,其中包含了我的项目的完美 backbone 代码,所以我将代码从该文件复制到了我的项目主文件中。
这是我得到的错误:
Image of errors in Qt Creator的
以下是一些错误行:
- gsm.c:-1:错误:未定义对
gsm_decode' :-1: error: /usr/local/lib/libpjmedia-codec-x86_64-unknown-linux-gnu.a(gsm.o): in function
gsm_codec_encode '的引用:
1.地址:/usr/local/lib/libpjmedia-codec-x86_64-unknown-linux-gnu.a(speex_codec.o):in functionspx_codec_decode': speex_codec.c:-1: error: undefined reference to
speex_bits_read_from'
1.地址:深圳市宝安区沙井街道沙井工业园A栋2楼电话:0755 - 88888888传真:0755 - 88888888
1.......这是什么?
我试着运行编译版本的pjsua2_demo.cpp,一切正常。可执行文件位置**./pjsip-apps/bin/samples/x86_64-unknown-linux-gnu**在pjproject目录下。我怀疑问题是包含库并将其链接到项目中,但我不知道如何做到这一点。
先谢了。
1条答案
按热度按时间bq9c1y661#
我还没有找到 .pro 构建文件的解决方案,所以我决定尝试使用 cmake。我在this Stackoverflow question上找到了解决方案,并将其与tsyvarev用户的评论相结合。
下面是我的project中的 cmake 文件:
字符串
对于其他有类似问题的人,根据您的需要调整 cmake 文件,保持带有 PJSIP 变量的行。