新人接触UE4,在此发帖主要用于记录学习内容,同时希望可以帮助其他朋友
UE4的交叉编译可以使开发者使用Windows平台来开发Linux上运行的项目。
尝试使用的源码版本为4.16.2
我按照官方论坛上的方法试验了一下,具体步骤如下:
1、下载官方提供的工具链Clang3.9.0 官方下载链接
2、可以新建任意文件夹,将下载的工具链解压到该文件夹中。该文件夹最好为英文,因为该路径再后面设置环境变量时会使用。
3、点击解压后的setup.bat批处理文件,会生成一个名为OutputEnvVars.txt文件。
4、然后设置环境变量,右键点击计算机图标,然后选择属性,再选择高级系统设置,然后点击环境变量。
5、点击下方系统变量的新建按钮,将OutputEnvVars.txt文件中第二行开头为LINUX_MULTIARCH_ROOT的内容设置为环境变量,LINUX_MULTIARCH_ROOT为变量名,等号后面的内容为变量值,然后点击确定。
6、然后打开命令提示行,找到源代码的根目录,运行其中的Setup.bat文件,应该是更新下载支持文件
忘记截图了,借用官网图片。
这个操作需要联网,我的是20M宽带,但是现实速度只有不到0.2MiB/s,所以需要很长时间。
7、然后再运行GenerateProjectFiles.bat文件设置UE4的项目文件
忘记截图了,借用官网图片
8、然后找到源代码文件夹中的UE4.sln文件,在VS2015中打开(此处操作有可能导致我后面遇到的问题)
9、按下F5生成UE4,我大概用了一个半小时。
10、生成好后,关闭编辑器,然后选择Linux解决方案平台,再生成一下。
我再此次生成过程中遇到了问题,出现了ERROR MSB3075的错误提示,显示运行的命令已退出,代码为 5。请验证您是否有足够的权限来运行此命令
经过查询资料发现,该错误是因为权限问题造成的。关闭VS2015,然后在快捷方式上点击右键,以管理员权限运行VS2015,然后选择打开源代码文件夹中的UE4.sln文件,在选择Linux解决方案平台进行生成,则编译通过。
11、再打开UE4,就可以在Windows平台上打包发布Linux项目了。
为了以后不再出现上面的编译问题,可以按如下操作设置VS一直以管理员权限启动
1、找到VS安装文件中的devenv.exe文件,右键选择“兼容性疑难解答”
2、选择“疑难解答程序”,再选择“该程序需要附加权限”
3、然后点击测试程序,VS打开后关闭,再点击下一步,然后选择“是,为此程序保存这些设置”,完成后,以后打开VS和sln文件就都是用管理员权限运行了。