【问题标题】:Link Live555 library - Qt链接 Live555 库 - Qt
【发布时间】:2015-11-10 14:27:01
【问题描述】:

目前我正在进行一个研究项目,以寻找处理 RTSP 流的最佳库。我正在努力寻找如何链接 Live555 库。我已经使用 .mak 文件构建了库,但我没有在 Qt KDE 上包含工作。如果有人有集成库的经验,请指出我的权利方向。 这是我的 .pro 文件:

.pro

TEMPLATE = app

QT += qml quick widgets

SOURCES += main.cpp \
    rtsp.cpp

RESOURCES += qml.qrc

LIVE555_LIBRARY_PATH = C:/live555/live

INCLUDEPATH +=
C:/live555/live/BasicUsageEnvironment/include
C:/live555/live/groupsock/include
C:/live555/live/liveMedia/include
C:/live555/live/UsageEnvironment/include

LIBS +=
C:/live555/live/BasicUsageEnvironment/libBasicUsageEnvironment.lib
C:/live555/live/groupsock/libgroupsock.lib
C:/live555/live/liveMedia/libliveMedia.lib
C:/live555/live/UsageEnvironment/libUsageEnvironment.lib

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Default rules for deployment.
include(deployment.pri)

HEADERS += \
    rtsp.h

这是我遇到的错误

Live555QML\rtsp.h:3: error: C1083: 
Cannot open include file: 'liveMedia/include/AC3AudioRTPSink.hh': No such file or directory

【问题讨论】:

  • 您面临的问题是什么?
  • 没有任何头文件链接到库

标签: c++ qt live555


【解决方案1】:

路径段liveMedia/include 似乎在rtsp.hINCLUDEPATH 中重复。编译器正在查看这些路径:

C:/live555/live/BasicUsageEnvironment/include/liveMedia/include/AC3AudioRTPSink.hh
C:/live555/live/groupsock/include/liveMedia/include/AC3AudioRTPSink.hh
C:/live555/live/liveMedia/include/liveMedia/include/AC3AudioRTPSink.hh
C:/live555/live/UsageEnvironment/include/liveMedia/include/AC3AudioRTPSink.hh

尝试将文件夹C:/live555/live 添加到INCLUDEPATH。如果没问题并且您在任何地方都使用完整路径,则应该删除当前的 INCLUDEPATH 内容。

【讨论】:

  • 谢谢,这解决了链接的问题。我知道这是另一个问题,但我在包含文件中收到链接错误:C:\live555\live\liveMedia\include\FramedSource.hh:25: 错误:C1083: 无法打开包含文件:'NetCommon.h' : 没有这样的文件或目录
  • 一般回答:您应该在系统上找到该文件并将文件夹添加到INCLUDEPATH。顺便说一句,这是编译,而不是链接。
  • 哎呀,是的,我的意思是编译.. 我将文件夹添加到 INCLUDEPATH 但我仍然收到相同的错误
  • @user3668531 抱歉,我需要更多详细信息才能找到问题所在。仔细检查您的 <any INCLUDEPATH item><path reported by compiler> 是否与真实路径匹配。如果库本身仅使用没有任何路径段的文件名,则我先前删除以前的 INCLUDEPATH 内容的建议不适用。
  • 单个包含现在可以工作,但是包含没有在实际库中找到依赖项,它没有在文件中找到 netcommon.h
【解决方案2】:

INCLUDEPATH += C:\live555\live\liveMedia\include \ C:\live555\live\groupsock\包括\ C:\live555\live\使用环境\包括\ C:\live555\live\BasicUsageEnvironment\include

【讨论】:

    猜你喜欢
    • 2020-01-13
    • 2020-12-10
    • 2011-02-24
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多