一,安装环境准备
材料准备:需要建立gstreamer的插件环境,用过gstreamer的插件都知道这个。可以参考链接:https://blog.csdn.net/u011625775/article/details/81836880
源码下载:http://gstreamer.freedesktop.org/src/ 选择qt-gstreamer
编译源码依赖环境的准备:
1,gstreamer-1.0
2,Qt5的运行环境(我已经移植的Qt5.9)
二,源码编译
$ tar -xvf qt-gstreamer-1.2.0.tar.gz
$ cd qt-gstreamer-1.2.0
$ mkdir build && cd build
在构建时,将配置项写入bash文件中:
./runShell.sh
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/qt5-gstreamer \
-DCMAKE_BUILD_TYPE=Release \
-DQT_VERSION=5 \
-DQTGSTREAMER_STATIC=OFF \
-DQTGSTREAMER_EXAMPLES=OFF \
-DQTGSTREAMER_TESTS=ON \
-DQTGSTREAMER_CODEGEN=ON \
-DUSE_GST_PLUGIN_DIR=ON \
-Wno-dev \
-DCMAKE_PREFIX_PATH=/usr/local/qt5.9.1_local/lib
以上配置只做为参考,可自行对照README进行修行
在第一次编译的时候可能会出现编译不过的情况,这时候需要解决一些依赖才能继续构建。
添加依赖:
sudo apt-get install qtquick1-5-dev qtscript5-dev
sudo apt-get install doxygen
sudo apt-get install libboost-all-dev
可能有些同学还有一些其它依赖需要安装,到这里,大家随机应变了;因为,每个人的编译环境不一样,遇到的问题也是不同,但解决方案只有一种,那就是找到出错的原因,安装构建时缺少的依赖。
$ make
在tegra-TX1上面出现了找不到部分函数的情况
make的时候可能会出现的libGL.so,和libEGL.so的库版本问题。
解决办法:
cd /usr/lib/gcc/aarch64-linux-gnu/5/../../aarch64-linux-gnu/
cd /usr/lib/aarch64-linux-gnu
sudo rm libEGL.so
sudo ln -s /usr/lib/aarch64-linux-gnu/tegra-egl/libEGL.so libEGL.so
sudo rm libGL.so
sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so libGL.so
$ make install
或者在qtcreator 中用cmake构建
三,编译运行示例
将示例工程拷贝到自己的工程目录下,用qtcreator 打开
配置pro文件。