将UE4代码编译成32位的编辑器

UE4的编辑器在windows平台是不支持32位的,UE4编辑器只支持64位,但是将游戏打包成32位,是没有问题的。


如果非要编译成32位编辑器:

直接选择Developer_Editor  Win32编译之后会产生以下编译错误:

C2917,"parameter”: 具有 __declspec(align('8')) 的形参将不被对齐


以下是MSDN的解释:

错误消息
“parameter”: 具有 __declspec(align('#')) 的形参将不被对齐

函数参数中不允许使用 align__declspec 修饰符。

下面的示例生成 C2719:

// C2719.cpp
void func(int __declspec(align(32)) i);   // C2719
// try the following line instead
// void func(int i);

事实上,MS编译器目前还不支持函数参数对齐。

而UE4的FVector4类使用了对齐:

MS_ALIGN(16) class FVector4

在使用FVector4作为参数的函数中我们更改参数为引用形式:

static FVector4 AttemptToSnapLocationToOriginPlane( const FViewportCursorLocation& Cursor,FVector4 Location )    //C2719

更改为:

static FVector4 AttemptToSnapLocationToOriginPlane( const FViewportCursorLocation& Cursor,const FVector4& Location )   //ok


基本上按照这个模式 可以处理所有C2719错误。

下面处理链接错误:一般错误都为缺少32位的第三方库文件。可以在ThirdParty内修改对应的build.cs文件,添加对Win32平台的配置。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值