1.【Carla】Windows编译版安装-超详细版教程
2.PHP、源码swoole安装与配置
3.越学越多——获取虚幻源码
4.UE 打包引擎源码
5.UE入门笔记(1):编译UE4源码 + apk打包
6.gin框架原理详解(gin框架是安装什么)
【Carla】Windows编译版安装-超详细版教程
由于项目需求升级,安装release版本的源码Carla不再适用,尤其是安装需要自定义地图和联合仿真。鉴于去年安装经历的源码繁琐和遗忘,我决定详细记录安装步骤,安装pcanywhere 源码以便日后参考。源码以下是安装安装步骤的概述: 1. 配置环境与安装依赖参考官方文档进行基础配置:Windows build - CARLA Simulator
推荐Carla版本:0.9.及以上,Python版本需为3.7.6,源码确保cmd和py -V版本一致,安装3.9可能有兼容性问题
VS Studio推荐使用社区版,源码安装相关SDK插件
安装CMake和确保3.版本,安装以及7zip用于文件解压缩
Git安装并配置GitHub账号
2. Unreal Engine安装与配置从0.9.开始,源码需使用修改版UE4.,安装注册并登录GitHub获取安装资格
选择合适的源码UE4版本,可能需要切换文件以兼容Carla
使用VS编译,耐心等待多进程构建
3. Carla源码编译与环境变量设置选择安装版本,如0.9.,进入carla文件夹进行编译
遇到困难时,可能需要手动下载并安装zlib、gtest、rpclib和xerces等包
编译PythonAPI,确保wheel文件生成,云微源码创建对应Python环境并安装
注意xerces和osm2odr的安装顺序,可能需要清理缓存和重试
make launch命令用于启动Carla,需要地图文件和预先下载的文件夹
4. 使用Carla在UE4中加载地图,启动PythonAPI并运行脚本,查看画面
通过上述步骤,你将能够成功安装并使用Carla进行自定义地图和联合仿真。记得根据实际情况调整和处理可能出现的安装问题。PHP、swoole安装与配置
1、源码包下载和安装
PHP: Downloads
[root@localhost software]# tar -xjvf php-7.2..tar.bz2 #解压源码包
编译
[root@localhost php-7.2.]# ./configure --prefix=/usr/local/php/ --enable-fpm
※不要忘记--enable-fpm模块
完成构建
[root@localhost php-7.2.]# make #构建
完成安装
[root@localhost php-7.2.]# make install
配置php别名方便调用
[root@localhost php]# vim ~/.bash_profile
验证php别名是否可用
[root@localhost php]# php -v PHP 7.2. (cli) (built: Nov 1 ::) ( NTS ) Copyright (c) - The PHP Group Zend Engine v3.2.0, Copyright (c) - Zend Technologies
查看php.ini的默认指向
[root@localhost php]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/lib
复制php.ini文件到/usr/local/php/lib目录下
[root@localhost etc]# cp /software/php-7.2./php.ini-development /usr/local/php/lib
别名方式配置php环境变量
[root@localhost ~]# vim ~/.bash_profile
重新加载生效
[root@localhost ~]# source ~/.bash_profile
快速定位php配置文件的位置技巧
[root@localhost etc]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/etc/
2、下载、安装swoole
swoole/swoole-src
-rw-r--r--. 1 root root Nov 1 : swoole-swoole-v4.2.2.zip [root@localhost downloads]# unzip swoole-swoole-v4.2.2.zip #解压swoole
使用phpize生成configure文件
[root@localhost swoole]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No:
查看swoole可以进行编译的相关模块
[root@localhost swoole]# ./configure --help | grep swoole --enable-debug-log Enable swoole debug log --enable-trace-log Enable swoole trace log --enable-swoole Enable swoole support
编译时指定php可执行配置文件的位置
[root@localhost swoole]# ./configure --with-php-config=/usr/local/php/bin/php-config
※如果无法解决上述报错,可以尝试先屏蔽gcc的版本检测
※gcc相关见附录(一)(二)
屏蔽gcc的版本检测
[root@bogon swoole]# vim swoole_config.h
重新make即可完成构建
[root@localhost swoole]#make Build complete. Don't forget to run 'make test'.
完成安装
[root@bogon swoole]# make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/ Installing header files: /usr/local/php/include/php/
查看swoole提供的例子
[root@bogon server] cd ../swoole/examples/
为php添加swoole扩展
[root@bogon etc]# vim php.ini
查看swoole扩展是否添加成功
[root@bogon etc]# php -m
查看swoole侦听的端口
[root@bogon etc]# netstat -anp | grep
附录:
一、gcc的安装
1. 获取安装包并解压
wget ftp.gnu.org/gnu/gcc/gcc... tar -jxvf gcc-4.8.2.tar.bz2
2. 下载供编译需求的依赖项
据史料记载,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约大量的时间和精力。
cd gcc-4.8.2 ./contrib/download_prerequisites
3. 建立一个目录供编译出的文件存放
mkdir gcc-build-4.8.2 cd gcc-build-4.8.2
4. 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5. 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化。
6. 安装
sudo make install
7. 验证安装,重启,然后查看gcc版本
gcc -v
二、短信源码其他方式安装gcc
越学越多——获取虚幻源码
游戏开发领域,知识永无止境。
那么,如何获取虚幻引擎的源码呢?
获得源码方法一:
官方教程:unrealengine.com/zh-CN/...
第一步:关联账户
1. 打开Epic Games启动器,点击管理账户后,跳转网页。
2. 如果网页无法打开,直接访问unrealengine.com/accoun...
3. 进入后,点击关联GitHub账户,点击授权EpicGames按钮,完成OAuth应用授权流程。
4. 接收邮件,加入GitHub上的@EpicGames组织。
第二步:下载源码
1. 登录GitHub账号。
2. 在GitHub个人页面点击右上角Your profile,进入后点击这个图标(有这个图标表示已经加入虚幻组织)。
3. 进入后,找到虚幻源码仓库,双击进入。
4. 下载源码。
第三步:打开源码文件
1. 下载后解压,地址不能有中文和空格。仿站源码
2. 运行setup.bat,可能报错无法下载。
- 第一种错误:Failed to download 'cdn.unrealengine.com/de...': 远程服务器返回错误: () 已禁止。 (WebException)
解决办法:要解决此问题,您需要获取位于此处的文件:github.com/EpicGames/Un...
然后替换engine/build/commit.gitdeps.xml版本中的文件。
文件在这,点击下载Commit.gitdeps.xml。
- 第二种错误:下载至%时,下载失败。
解决办法:UE4源码下载对于文件路径长度有要求,将文件夹名字改短即可,6个字符长度。
再次运行Setup.bat,即可成功。这个阶段时间很长。
双击运行GenerateProjectFiles.bat文件,运行结束会生成UE5.sln文件,这个就是源码啦!
获取源码方法二:
这个方法适合只是想要了解学习引擎底层原理,并不用于编译的情况。
快速打开代码去查看,一般用于非程序人员想要进阶了解引擎原理的视频会议源码时候。
前提,安装Visual Studio。
第一步:打开虚幻引擎工程。
第二步:新建蓝图类,比如actor。
第三步:新建C++组件,选择actor组件。
第四步:创建类。
第五步:完成,在Visual Studio里查看代码。
UE 打包引擎源码
本文作为个人记录使用。
1. 获取引擎源码:在GitHub上下载对应版本源码(需订阅虚幻引擎并与你的虚拟引擎账号关联)。安装Microsoft Visual Studio,建议选择读写速度较快的硬盘,并预留足够空间。官方文档:docs.unrealengine.com/4...
unrealengine.com/zh-CN/...
运行setup.bat开始下载,可加参数加速下载(--threads=N表示用N个线程加速下载)。网速慢时,可能需要更长时间。
完成下载后,运行GenerateProjectFiles.bat生成解决方案。
2. 构建源码:编译源码时,可适当修改源码hh。具体操作可参考官方文档:docs.unrealengine.com/4...
记得先Build AutomationTool。
我下载了Windows SDK:developer.microsoft.com...(VS中的可能还不够,猜测)。
再次Build时,遇到一个问题:
我采取的有效方法:在HoloLensTargetPlatform.Build.cs中添加了一行参数bEnableUndefinedIdentifierWarnings = false;
3. 开始打包:通过cmd执行RunUAT.bat,等待打包完成。顺利的话,将在/引擎目录/LocalBuilds/Engine下找到打包好的包。我的路径是:E:\UnrealEngine-4..2-release\Engine\Build\BatchFiles\RunUAT.bat,参数:BuildGraph -target="Make Installed Build Win" -script=Engine/Build/InstalledEngineBuild.xml -clean。
详细的脚本选项可参考官方文档:docs.unrealengine.com/4...
接下来就开踩。安装vs时遇到错误,后来发现不用下载,修改参数即可。我使用的是vs,不知道vs是否可行。
这种就是配置对应的环境。想必后面还有ERROR: Platform IOS is not a valid platform to build,我都学会抢答了(安装ios环境需要apple id,我没有)。
因为我并不需要打包其他平台,所以修改了参数,仅打包支持Window平台的BuildGraph -target="Make Installed Build Win" -script=Engine/Build/InstalledEngineBuild.xml -set:WithWin=true -set:WithWin=true -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithTVOS=false -set:WithLinux=false -set:WithLinuxAArch=false -set:WithLumin=false -set:WithLuminMac=false -set:WithHoloLens=false -set:WithClient=true -set:WithServer=true -set:VS=true -clean。
打包成功提示succeed。
其他:blog.csdn.net/qq_... store.algosyntax.com/tu... UE4使用BuildGraph构建二进制版本虚幻引擎 docs.unrealengine.com/4... Android SDK的下载与安装 cnblogs.com/KisonDu/p/1... iOS和tvOS开发要求 打包插件必须安装vs ? github.com/EpicGames/Un...
UE入门笔记(1):编译UE4源码 + apk打包
实验环境:win / VS专业版 / UE4..
准备工作①获取UE4源码:按照官方教程,完成邮件确认后即可下载 UE4..2源码。
记得下载Commit.gitdeps.xml文件,后续会用到。
②VS安装工具包:打开Visual Studio Installer,选中并安装
2、编译
下面操作均基于UE4源码文件夹
①执行bat文件
a)运行setup.bat,如出现下面错误,则需要替换Commit.gitdeps.xml文件
b)运行GenerateProjectFiles.bat,如出现下面错误,则将文件路径改短
②编译
打开UE4.sln,右键UE4选“生成”,编译过程多分钟
③UE4,启动!
编译完成后,打开Engine\Binaries\Win,找到UE4Editor.exe,即可启动。
3、安卓环境配置
下载Android Studio并在UE4部署安卓:参考官方教程以及UE部署到Android以及杂症的解决,配置过程较为复杂,一步步来不要跳步。
4、打包并测试
打包过程报错:
①packagingresults: error: failed to build "uattempproj.proj"
解决:打开项目.sln,重新生成AutomationTool
②找不到dx文件
解决:打开C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools,将或版本文件夹中的dx.bat 和 lib 文件夹中的 dx.jar 复制到 .0.0 版本文件夹的对应位置。(build-tools从版本之后把dx的方式去掉了,而UE需要这个,没有的话会发布失败)
手机测试报错:
①No Google Play Store Key
解决:UE项目设置->Android中勾选“将游戏数据打包至.apk中”,重新打包
参考链接
① UE部署到Android以及杂症的解决
② UE4学习笔记(1):UE源码下载编译+安卓打包
③ 油管教程《Unreal Engine 4..2 Packaging For Android | Unreal Engine 4..2 Export Android Project》
gin框架原理详解(gin框架是什么)
Gin的启动过程、路由及上下文源码解读
Engine是gin框架的一个实例,它包含了多路复用器、中间件和配置中心。
gin通过Engine.Run(addr...string)来启动服务,最终调用的是/手败gin-gonic/gin
一个简单的例子:
packagemain
import"github.com/gin-gonic/gin"
funcmain(){
//Default返回一个默认的路由引擎
r:=gin.Default()
r.GET("/ping",func(c*gin.Context){
//输出json结果给调用方
c.JSON(,gin.H{
"message":"pong",
})
})
r.Run()//listenandserveon0.0.0.0:
}
编译运行程序,打开浏览器,访问页面显示:
{ "message":"pong"}
gin的功能不只是简单输出Json数据。它是一个轻量级的WEB框架,支持RestFull风格API,支持GET,POST,PUT,PATCH,DELETE,OPTIONS等/gin-gonic/gin"
)
funcmain(){
router:=gin.Default()
//静态资源加载,本例为css,js以及资源
router.StaticFS("/public",/ffhelicopter/tmm/website/static"))
router.StaticFile("/favicon.ico","./resources/favicon.ico")
//Listenandserveon0.0.0.0:
router.Run(":")
}
首先需要是生成一个Engine,这是gin的核心,默认带有Logger和Recovery两个中间件。
router:=gin.Default()
StaticFile是加载单个文件,而StaticFS是加载一个完整的目录资源:
func(group*RouterGroup)StaticFile(relativePath,filepathstring)IRoutes
func(group*RouterGroup)StaticFS(relativePathstring,fs/gin-gonic/gin
如果安装失败,直接去Githubclone下来,放置到对应的目录即可。
(2)代码中使用:
下面是一个使用Gin的简单例子:
packagemain
import(
"github.com/gin-gonic/gin"
)
funcmain(){
router:=gin.Default()
router.GET("/ping",func(c*gin.Context){
c.JSON(,gin.H{
"message":"pong",
})
})
router.Run(":")//listenandserveon0.0.0.0:
}
简单几行代码,就能实现一个web服务。使用gin的Default方法创建一个路由handler。然后通过HTTP方法绑定路由规则和路由函数。不同于net/e"}。
注:Gin还包含更多的返回方法如c.String,c.HTML,c.XML等,请自行了解。可以方便的返回HTML数据
我们在之前的组v1路由下新定义一个路由:
下面我们访问
可以看到,通过c.Param(“key”)方法,Gin成功捕获了url请求路径中的参数。同理,gin也可以捕获常规参数,如下代码所示:
在浏览器输入以下代码:
通过c.Query(“key”)可以成功接收到url参数,c.DefaultQuery在参数不存在的情况下,会由其默认值代替。
我们还可以为Gin定义一些默认路由:
这时候,我们访问一个不存在的页面:
返回如下所示:
下面我们测试在Gin里面使用Post
在测试端输入:
附带发送的数据,测试即可。记住需要使用POST方法.
继续修改,将PostHandler的函数修改如下
测试工具输入:
发送的内容输入:
返回结果如下:
备注:此处需要指定Content-Type为application/x-www-form-urlencoded,否则识别不出来。
一定要选择对应的PUT或者DELETE方法。
Gin框架快速的创建路由
能够方便的创建分组
支持url正则表达式
支持参数查找(c.Paramc.Queryc.PostForm)
请求方法精准匹配
支持处理
快速的返回给客户端数据,常用的c.Stringc.JSONc.Data