【发布时间】:2017-03-01 12:30:58
【问题描述】:
我正在开展一个项目,该项目需要 gstreamer 通过 UPD 将网络摄像头馈送流式传输到另一台计算机。我整个早上都在尝试在我的 Ubuntu 16.04 上安装 gstreamer,最终我设法使用以下命令使其工作:
sudo apt-get install libgstreamer0.10-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 gstreamer0.10-tools gstreamer-tools gstreamer0.10-doc gstreamer0.10-x
我还在我的项目中修改了我的 cmake 文件,以尝试包含 gstreamer 库(请参阅 cmets):
cmake_minimum_required(VERSION 3.1.0)
PROJECT(gstreamer-test)
# paths
LINK_DIRECTORIES(/usr/local/lib) # OpenCV
LINK_DIRECTORIES(/usr/include/glib-2.0) #gstreamer
LINK_DIRECTORIES(/usr/include/gstreamer-0.10)
# Build settings
SET(EXECUTABLE_OUTPUT_PATH build/bin)
SET(LIBRARY_OUTPUT_PATH build/lib)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY build)
# Compiler settings
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
SET(OpenCV_LIBRARIES opencv_core opencv_highgui opencv_videoio -lopencv_calib3d opencv_imgproc -lopencv_imgcodecs opencv_ml opencv_objdetect opencv_features2d opencv_flann)
add_executable(gstreamer_test main.cpp)
TARGET_LINK_LIBRARIES(gstreamer_test ${OpenCV_LIBRARIES})
尽管如此,CLion 拒绝包含 gstreamer。当我尝试从他们的网站 (https://gstreamer.freedesktop.org/documentation/application-development/basics/helloworld.html) 构建教程“hello world”应用程序时,它失败了,因为 CLion 找不到包含的 gst/gst.h 和 glib.h 文件。
一些论坛建议使用 find_package 命令,但我什至不确定这个库的确切包名是什么,我只知道头文件的位置。这方面的文档似乎也很少。
有人知道如何在我的项目中正确包含 gstreamer 库吗?
【问题讨论】:
-
CLion 只调用
cmake,为什么还要责怪它?您确定gst/gst.h可以通过提供的路径找到吗? -
使用
find_package模式 -
@user1056837 公平点,CLion 没办法。这是我缺乏cmake知识。但是,我确信路径 /usr/include/gstreamer-0.10/gst/gst.h 和 /usr/include/glib-2.0/glib.h 是正确的。
-
@fandyushin 我试过 find_package(libgstreamer0.10-dev) 但找不到。我也尝试输入“gstreamer”(以及 libgstreamer 的其他一些变体 - 名称),但这也不起作用。你知道我如何识别包名吗?
标签: c++ ubuntu cmake gstreamer clion