vault backup: 2023-09-16 18:43:12

This commit is contained in:
BlueRose 2023-09-16 18:43:12 +08:00
parent 9605289689
commit 62be8673c4
3 changed files with 55 additions and 69 deletions

View File

@ -3,6 +3,8 @@ title: UE5 Ubantu & Docker 部署
date: 2023-09-12 18:20:39 date: 2023-09-12 18:20:39
excerpt: excerpt:
tags: tags:
- Ubantu
- Docker
rating: ⭐⭐ rating: ⭐⭐
--- ---
# 前言 # 前言
@ -67,5 +69,5 @@ adamrehn/ue4-runtime:22.04-vulkan-x11
- 编译项目:/home/ue4/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh Development Linux -Project="/project/XXXX.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE - 编译项目:/home/ue4/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh Development Linux -Project="/project/XXXX.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE
- 启动项目:/home/ue4/UnrealEngine/Engine/Binaries/Linux/UnrealEditor -logs "/project/XXXX.uproject" - 启动项目:/home/ue4/UnrealEngine/Engine/Binaries/Linux/UnrealEditor -logs "/project/XXXX.uproject"
为了防止生成解决方案失败可以把项目目录与UE目录设置权限。 **为了防止生成解决方案失败可以把项目目录与UE目录设置权限。**
PS.实际是因为Ubantu系统版本与容器系统并不相同所以需要重新编译一下才能运行项目。 PS.实际是因为Ubantu系统版本可能与容器系统并不相同,所以需要重新编译一下,才能运行项目。

View File

@ -1,66 +0,0 @@
---
title: Untitled
date: 2023-09-15 15:50:48
excerpt:
tags:
rating: ⭐
---
# 前言
本人使用的版本是[Unreal_v1.0.4](https://github.com/Tencent/puerts/releases/tag/Unreal_v1.0.4)的Nodejs版本
# Linux上的编译问题解决
1. FileSystemOperation.cpp
1. `#include "HAL/PlatformFilemanager.h" => #include "HAL/PlatformFileManager.h"`
2. Compile PesapiFrameworkLoader.mm error: Objective-C was disabled in PCH file but is currently enabled
1. 将PesapiFrameworkLoader.mm的后缀名改成PesapiFrameworkLoader.cpp
### UE-dev 5.1
sudo docker run --gpus=all --rm -ti -v "/media/user//home/user/Projects/AIMotionRender:/project" ghcr.io/epicgames/unreal-engine:dev-5.1.1
#### 编译Puert
sudo docker run --gpus=all --rm -e DISPLAY -ti \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-v /home/user/Linux_Unreal_Engine_5.1.1:/home/ue4/UnrealEngine \
-v /home/user/Projects/AIMotionRender:/project \
-v /home/user/node:/home/user/node \
-v /home/user/Projects/backend-nodejs:/home/user/Projects/backend-nodejs \
adamrehn/ue4-runtime:22.04-vulkan-x11
sudo apt-get install clang
sudo apt-get install libc++-dev
sudo apt-get install libc++abi-dev
sudo apt-get install make
curl -sL https://deb.nodesource.com/setup_16.x | sudo -e bash -
sudo apt-get install -y nodejs
cd /home/user/Projects/backend-nodejs/node-script
npm install -s commander
sudo apt-get install git
/home/user/Projects/backend-nodejs/linux.sh
root 用户
sudo docker run -u 0 --gpus=all --rm -e DISPLAY -ti \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-v /home/user/Linux_Unreal_Engine_5.1.1:/home/ue4/UnrealEngine \
-v /home/user/Projects/AIMotionRender:/project \
-v /home/user/node:/home/user/node \
-v /home/user/Projects/backend-nodejs:/home/user/Projects/backend-nodejs \
adamrehn/ue4-runtime:22.04-vulkan-x11
#### 编译v8
/home/user/Projects/backend-nodejs/linux.sh
### Startup
cd /home/ue4/UnrealEngine/Engine/Binaries/Linux \
./UnrealEditor -log "/project/AIMotionRender.uproject"
/home/ue4/UnrealEngine/Engine/Binaries/Linux/UnrealEditor -log "/project/AIMotionRender.uproject"
### Compiler
/home/ue4/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh Development Linux -Project="/project/AIMotionRender.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE
## UE Docker

View File

@ -0,0 +1,50 @@
---
title: Ubantu平台Puerts编译问题解决
date: 2023-09-15 15:50:48
excerpt:
tags:
- Ubantu
- Puerts
- Docker
rating: ⭐⭐⭐
---
# 前言
本人使用的版本是[Unreal_v1.0.5](https://github.com/Tencent/puerts/releases/tag/Unreal_v1.0.5)的Nodejs版本首先使用Ubantu23.04进行测试之后换成了Ubantu22.04。Puerts在UbantuLinux上部署的坑也比较多遂写此文。
# Linux上的编译问题解决
1. FileSystemOperation.cpp
1. `#include "HAL/PlatformFilemanager.h" => #include "HAL/PlatformFileManager.h"`
2. Compile PesapiFrameworkLoader.mm error: Objective-C was disabled in PCH file but is currently enabled
1. 将PesapiFrameworkLoader.mm的后缀名改成PesapiFrameworkLoader.cpp
## V8环境库问题
报错内容:**ld.lld: error: unable to find library -lnode**
在询问作者后得知是V8环境库的编译环境与系统环境不符所致需要自己编译库来解决。
>https://github.com/Tencent/puerts/issues/1521
大致方法就是下载并且运行编译脚本自己编译库。该库2月16日Released的版本在Ubantu22.04上测试通过所以建议大家使用Ubantu22.04。其他版本需要自己编译。
>https://github.com/puerts/backend-nodejs
### 编译所需要的库
```bash
sudo apt-get install clang
sudo apt-get install libc++-dev
sudo apt-get install libc++abi-dev
curl -sL https://deb.nodesource.com/setup_16.x | sudo -e bash -
sudo apt-get install -y nodejs
cd /home/user/Projects/backend-nodejs/node-script
npm install -s commander
# 部分纯净系统可能需要安装这2个东西
sudo apt-get install make
sudo apt-get install git
```
因为该脚本是为Gihub Action编写的其他还支持Ubuntu 20.04镜像,可以参考 https://github.com/actions/runner-images/ 。如果你是其他版本的系统就需要自己clone该仓库并且修改脚本进行编译。编译完文件会在/home/user/node/out/Release
调用方式:
```bash
./linux.sh 工作目录路径 16.x
```
这里我推荐修改脚本直接手动指定2个参数并且删除会报错地方之后就可以编译了。编译完替换**Plugins\Puerts\ThirdParty\nodejs_16\lib\Linux**中文件即可。
# UE-Runtime容器部署问题