- 积分
- 214
- 阅读权限
- 30
- 主题
- 2
- 帖子
- 66
- 注册时间
- 17-3-5
- 在线时间
- 32 小时
- UID
- 5336
- 精华
- 1
排长
- 大洋
- 1318
- 阅读权限
- 30
|
本帖最后由 lanvas2008 于 20-6-9 14:20 编辑
废话不多说直接进主题
tsmuxer github https://github.com/justdan96/tsMuxer
首先安装 msys2
msys2官方网站
https://www.msys2.org/
msys2直接下载连接
https://github.com/msys2/msys2-installer/releases/download/2020-06-02/msys2-x86_64-20200602.exe
在使用msys2前先熟悉几个安装编译过程中要用到重要的命令行工具 make,qmake,pacman,cmake
make
是一个命令工具,它解释Makefile 中的指令。在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
qmake
qmake是 qt附带的工具,qmake能够自动生成Makefile、Microsoft Visual Studio 专案文件 和 xcode 专案文件。不管源代码是否是用Qt写的,都能使用qmake,因此qmake能用于很多软件的构建过程。
pacman
pacman是arclinux中的软件管理工具,也是widows上msys2默认的软件管理工具。pacman可以直接从网络上的软件仓库下载安装及删除软件,自动处理依赖关系,类似ubuntu中的apt-get。
在msys2里面最常用的几个命令为:
pacman -Sy: 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)。
pacman -Su: 升级所有已安装的软件包。
这两个命令可以合并为一个命令 pacman -Syu
pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可。
pacman -S --needed 软件名1 软件名2: 安装软件,但不重新安装已经是最新的软件。
CMake
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
下面开始安装msys2
直接运行 msys2-x86_64-20200602.exe 一路默认即可,全部的软件安装大概需要25g的磁盘空间吧,如C盘容量不足就不要安装在C盘了
为msys2添加国内源
打开 msys64\etc\pacman.d 文件夹找到以下3个文件
mirrorlist.mingw32
mirrorlist.mingw64
mirrorlist.msys
用文本编辑器打开,删除原来所有内容,然后添加以下内容
mirrorlist.mingw32 添加以下内容
- ##
- ## 32-bit Mingw-w64 repository mirrorlist
- ##
- ## 中国科学技术大学
- Server = https://mirrors.ustc.edu.cn/msys2/mingw/i686
- ## 中国科学技术大学 电信线路
- Server = https://chinanet.mirrors.ustc.edu.cn/msys2/mingw/i686
- ## 清华大学
- Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
- ## 浙江大学
- Server = http://mirrors.zju.edu.cn/msys2/mingw/i686
- ## 华为
- Server = https://mirrors.huaweicloud.com/msys2/mingw/i686
复制代码
mirrorlist.mingw64 添加以下内容
- ##
- ## 64-bit Mingw-w64 repository mirrorlist
- ##
- ## 中国科学技术大学
- Server = https://mirrors.ustc.edu.cn/msys2/mingw/x86_64
- ## 中国科学技术大学 电信线路
- Server = https://chinanet.mirrors.ustc.edu.cn/msys2/mingw/x86_64
- ## 清华大学
- Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
- ## 浙江大学
- Server = http://mirrors.zju.edu.cn/msys2/mingw/x86_64
- ## 华为
- Server = https://mirrors.huaweicloud.com/msys2/mingw/x86_64
复制代码
mirrorlist.msys 添加以下内容
- ##
- ## MSYS2 repository mirrorlist
- ##
- ## 中国科学技术大学
- Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch
- ## 中国科学技术大学 电信线路
- Server = https://chinanet.mirrors.ustc.edu.cn/msys2/msys/$arch
- ## 清华大学
- Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
- ## 浙江大学
- Server = http://mirrors.zju.edu.cn/msys2/msys/$arch
- ## 华为
- Server = https://mirrors.huaweicloud.com/msys2/msys/$arch
复制代码
把msys2添加到右键菜单 方便在任何地方打开msys2,把下面的内容复制到文本文件中 然后另存为批处理 文件后缀为 cmd 或 bat。
导入后的右键菜单。
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-32" /f /d "MSYS2 MinGW 32-Bit"
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-64" /f /d "MSYS2 MinGW 64-Bit"
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-32" /f /v "icon" /d "%cd%\msys2.ico"
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-64" /f /v "icon" /d "%cd%\msys2.ico"
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-32\command" /f /d "%cd%\msys2_shell.cmd -mingw32 -here"
- @reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\MSYS2-64\command" /f /d "%cd%\msys2_shell.cmd -mingw64 -here"
复制代码
到这里msys2的基本安装和设置就完成了,接下来就是安装编译器了。
打开msys64.运行 msys2.exe 首先同步最新数据和更新
全部更新完成后开始安装编译环境
MSYS2 基础包安装
- pacman -S --needed git yasm cvs svn zlib-devel libelf-devel base-devel zip p7zip sshpass
复制代码
mingw32 gcc编译器安装
- pacman -S --needed mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_ttf mingw-w64-i686-nasm mingw-w64-i686-ninja mingw-w64-i686-zlib mingw-w64-i686-clang mingw-w64-i686-cmake mingw-w64-i686-freetype mingw-w64-i686-toolchain
复制代码
mingw64 gcc编译器安装
- pacman -S --needed mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-nasm mingw-w64-x86_64-ninja mingw-w64-x86_64-zlib mingw-w64-x86_64-clang mingw-w64-x86_64-cmake mingw-w64-x86_64-freetype mingw-w64-x86_64-toolchain mingw-w64-cross-toolchain
复制代码
QT5 安装
- pacman -S --needed mingw-w64-x86_64-qt5-static mingw-w64-i686-qt5-static
复制代码
可以分开安装 也可以合在一起一次输入安装
- pacman -S --needed git yasm cvs svn zlib-devel libelf-devel base-devel zip p7zip sshpass mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_ttf mingw-w64-i686-nasm mingw-w64-i686-ninja mingw-w64-i686-zlib mingw-w64-i686-clang mingw-w64-i686-cmake mingw-w64-i686-freetype mingw-w64-i686-toolchain mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-nasm mingw-w64-x86_64-ninja mingw-w64-x86_64-zlib mingw-w64-x86_64-clang mingw-w64-x86_64-cmake mingw-w64-x86_64-freetype mingw-w64-x86_64-toolchain mingw-w64-cross-toolchain mingw-w64-x86_64-qt5-static mingw-w64-i686-qt5-static
复制代码
等待全部安装完成后 编译环境就算安装好了
把qt添加到环境变量
打开 msys64\etc\skel 文件夹 .bashrc 文件 用文本编辑器打开 在前面插入
- # QT5
- export PATH=$PATH:$MINGW_PREFIX/qt5-static/bin
复制代码
接下来去 tsmuxer github 仓库 下载源代码
解压缩源代码到任意盘的根目录,打开源代码文件夹新建 build 文件夹 进入 build 文件夹 右键 MSYS2 MinGW 32-Bit 或 MSYS2 MinGW 64-Bit
生成 tsmuxer 的 makefile 文件
- cmake ../ -G Ninja -DTSMUXER_STATIC_BUILD=true
复制代码
编译tsmuxer 并把 tsmuxer.exe 复制到 bin 文件夹
- ninja && cp -u tsMuxer/tsmuxer.exe ../bin/
复制代码
生成 tsmuxergui 的 makefile 文件
编译 tsmuxergui 并把 tsmuxergui.exe 复制到 bin 目录
- make release && cp -u release/tsMuxerGUI.exe ../bin/
复制代码
关于源码包里面自带的自动编译脚本 rebuild_msys2.sh ,运行这个脚本会报错无法正常编译,我把脚本修改了下这样就能在任何地方正常编译了。
- #!/usr/bin/bash
- cd ../
- if [ ! -d tsMuxer-master ] ; then
- git clone https://github.com/justdan96/tsMuxer.git
- fi
- cd tsMuxer-master
- if [ ! -d build ] ; then
- if [ -d $MINGW_PREFIX/qt5-static ] ; then
- echo 'load(win32/windows_vulkan_sdk)' > $MINGW_PREFIX/qt5-static/share/qt5/mkspecs/common/windows-vulkan.conf
- echo 'QMAKE_LIBS_VULKAN =' >> $MINGW_PREFIX/qt5-static/share/qt5/mkspecs/common/windows-vulkan.conf
- fi
- mkdir build
- fi
- git pull
- cd build
- cmake ../ -G Ninja -DTSMUXER_STATIC_BUILD=true
- ninja && cp -u tsMuxer/tsmuxer.exe ../bin/
- if [ -d $MINGW_PREFIX/qt5-static ] ; then
- $MINGW_PREFIX/qt5-static/bin/qmake ../tsMuxerGUI
- make release && cp -u release/tsMuxerGUI.exe ../bin/
- fi
- cd ..
复制代码
运行脚本脚本的命令是 ./脚本文件名.sh,如我们要运行 tsMuxer 自动编译脚本 rebuild_msys2.sh
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
评分
-
查看全部评分
|