-
Notifications
You must be signed in to change notification settings - Fork 64
获得源码&编译教程
chatop2020 edited this page Dec 13, 2020
·
4 revisions
- 你的操作系统必须支持.net core 3.1
下载地址:https://dotnet.microsoft.com/download/dotnet-core/3.1
根据自己的操作系统下载不同的.net core3.1安装包 - 如果你是Windows操作系统,必须安装.net framework4.0及以上
下载地址:https://dotnet.microsoft.com/download/dotnet-framework/net40
可以选择.net framework 4.7.1版本进行安装,由于Windows操作系统下,有一个性能组件(WindowsNetworkStaCli)采用了.net framework4.0进行开发的,所以必须安装这个运行库才能运行,正常的话Windows10操作系统已经是自带.net framework4.0运行库的,可以不用安装(阉割版windows10就不是太好说了)。 - 如果你是Windows以外的操作系统,建议在安装.net core 3.1的基础上另外安装Mono运行环境
下载地址:https://www.mono-project.com/download/stable/
根据自己的操作系统选择下载并安装Mono SDK,这个可能有助于在非Windows操作系统下编译性能组件WindowsNetworkStaCli。 - 拥有双核以上CPU
- 拥有2G以上内存
- 在编译过程中会需要下载一些第三方包,所以需要保证网络通畅(注意搬梯子)
- 建议使用JetBrains Rider 加载工程然后编译
- Windows下要安装gitbash,其他操作系统安装git工具才可以使用git clone操作,否则直接下载github上的zip源码包也可以
- 安装了git工具的可以使用以下命令进行代码下载(注意搬梯子)
git clone https://github.com/chatop2020/StreamNode-GB28181.git
- 建议使用JetBrains Rider 加载工程然后编译(首选)
- 以下是针对有经验的开发者的编译方法,没有经验的尽量选择Rider进行编译
- 进入原码目录
- 运行dotnet build进行编译
- 编译Release版本时在dotnet build 后面要加参数 --configuration Release
- 建议编译时先将项目中的"WinNetworkStaCli"工程删除掉,否则将会有报错,不过就算不删掉,报错也不影响其他工程的编译
qiuzhouwei@qiuzhouweideMacBook-Pro Source % git clone https://github.com/chatop2020/StreamNode-GB28181.git
Cloning into 'StreamNode-GB28181'...
remote: Enumerating objects: 447, done.
remote: Counting objects: 100% (447/447), done.
remote: Compressing objects: 100% (291/291), done.
remote: Total 2803 (delta 266), reused 288 (delta 145), pack-reused 2356
Receiving objects: 100% (2803/2803), 1.86 MiB | 8.00 KiB/s, done.
Resolving deltas: 100% (1755/1755), done.
qiuzhouwei@qiuzhouweideMacBook-Pro Source % cd StreamNode-GB28181
qiuzhouwei@qiuzhouweideMacBook-Pro StreamNode-GB28181 % dotnet build --configuration Release
一直等到编译完成,在各工程的目录中的bin/Release/netcoreapp3.1下生成很多文件,这些就是可执行文件,之后运行项目需要他们,这些文件就是各工程编译完成的可执行文件, 一般以.dll,.xml,等扩展名结尾
qiuzhouwei@qiuzhouweideMacBook-Pro netcoreapp3.1 % ls -lh
total 7744
-rwxr--r-- 1 qiuzhouwei staff 30K 2 6 2019 INIFileParser.dll
-rw-r--r-- 1 qiuzhouwei wheel 24K 11 27 15:29 LibSystemInfo.dll
-rw-r--r-- 1 qiuzhouwei wheel 20K 11 27 15:29 LibSystemInfo.pdb
-rw-r--r-- 1 qiuzhouwei wheel 5.0K 11 27 15:29 Logger.dll
-rw-r--r-- 1 qiuzhouwei wheel 9.8K 11 27 15:29 Logger.pdb
-rwxr--r-- 1 qiuzhouwei staff 166K 9 15 2019 Microsoft.OpenApi.dll
-rwxr--r-- 1 qiuzhouwei staff 677K 11 9 2019 Newtonsoft.Json.dll
drwxr-xr-x 3 qiuzhouwei wheel 96B 11 27 15:29 Properties
-rw-r--r-- 1 qiuzhouwei wheel 113K 11 27 15:29 StreamMediaServerKeeper.deps.json
-rw-r--r-- 1 qiuzhouwei wheel 70K 11 27 15:29 StreamMediaServerKeeper.dll
-rw-r--r-- 1 qiuzhouwei wheel 43K 11 27 15:29 StreamMediaServerKeeper.pdb
-rw-r--r-- 1 qiuzhouwei wheel 163B 11 27 15:29 StreamMediaServerKeeper.runtimeconfig.dev.json
-rw-r--r-- 1 qiuzhouwei wheel 213B 11 27 15:29 StreamMediaServerKeeper.runtimeconfig.json
-rw-r--r-- 1 qiuzhouwei wheel 29K 11 27 15:29 Swagger.xml
-rwxr--r-- 1 qiuzhouwei staff 18K 6 25 21:14 Swashbuckle.AspNetCore.Annotations.dll
-rwxr--r-- 1 qiuzhouwei staff 14K 6 25 21:14 Swashbuckle.AspNetCore.Swagger.dll
-rwxr--r-- 1 qiuzhouwei staff 72K 6 25 21:14 Swashbuckle.AspNetCore.SwaggerGen.dll
-rwxr--r-- 1 qiuzhouwei staff 1.8M 6 25 21:14 Swashbuckle.AspNetCore.SwaggerUI.dll
-rwxr--r-- 1 qiuzhouwei staff 373K 5 15 2018 System.Configuration.ConfigurationManager.dll
-rwxr--r-- 1 qiuzhouwei staff 25K 5 15 2018 System.Security.Cryptography.ProtectedData.dll
-rwxr--r-- 1 qiuzhouwei staff 23K 10 24 2017 SystemInfoLibrary.dll
-rw-r--r-- 1 qiuzhouwei wheel 159B 11 27 15:29 appsettings.Development.json
-rw-r--r-- 1 qiuzhouwei wheel 182B 11 27 15:29 appsettings.json
-rwxr--r-- 1 qiuzhouwei staff 252K 9 18 11:44 log4net.dll
drwxr-xr-x 3 qiuzhouwei wheel 96B 11 27 15:29 runtimes
- 由于非windows操作系统不需要使用WinNetworkStaCli工程,因此不做此工程的编译介绍
- WinNetworkStaCli工程是Windows操作系统专属的系统网络性能收集程序,只有Windows操作系统才需要编译这个工程
- WinNetworkStaCli工程是基于.net framework4.0开发的,因此需要使用windows操作系统进行编译,虽然在其他操作系统下用mono也可以编译,这里不作介绍
- 安装使用Visual Studio 2017及以上对WinNetworkStaCli工程进行编译(也可以通过mono或msbuild命令行编译,不作额外介绍)
- 编译成功后将在工程目录下生成bin/Release[Debug]/WinNetworkStaCli.exe 可执行文件
- 这个可执行文件在Windows平台上部署运行StreamNode-GB28181时会使用得到。