Unreal 升级手记

  1. OSX,Xcode 升级了,文件大小写不对

Unreal 4.14
macOS Sierra 10.12.5
Xcode 8.3.3

UnrealBuildTool: [2/4] clang++ SdkboxChartboost.generated.cpp
UnrealBuildTool: In file included from /Users/jryin/workspace/sdkbox/chartboost_unreal_plugin/output/HostProject/Plugins/SdkboxChartboost/Intermediate/Build/IOS/UE4/Inc/SdkboxChartboost/SdkboxChartboost.generated.cpp:8:
UnrealBuildTool: In file included from /Users/jryin/workspace/sdkbox/chartboost_unreal_plugin/output/HostProject/Plugins/SdkboxChartboost/Source/SdkboxChartboost/Private/SdkboxChartboostPrivatePCH.h:22:
UnrealBuildTool: In file included from /Users/Shared/UnrealEngine/4.14/Engine/Source/Runtime/CoreUObject/Public/CoreUObject.h:5:
UnrealBuildTool: In file included from /Users/Shared/UnrealEngine/4.14/Engine/Source/Runtime/Core/Public/Core.h:9:
UnrealBuildTool: /Users/Shared/UnrealEngine/4.14/Engine/Source/Runtime/Core/Public/HAL/Platform.h:68:11: error: non-portable path to file '"iOS/IOSPlatformCompilerPreSetup.h"'; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
UnrealBuildTool:         #include "IOS/IOSPlatformCompilerPreSetup.h"
UnrealBuildTool:                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UnrealBuildTool:                  "iOS/IOSPlatformCompilerPreSetup.h"

修改方法:

mv /Users/Shared/UnrealEngine/4.14/Engine/Source/Runtime/Core/Public/iOS /Users/Shared/UnrealEngine/4.14/Engine/Source/Runtime/Core/Public/IOS

典型的代码被猫吃了。压根儿都没有动过这个代码,过了段时间来编译,就错了。

结:问题需要找出根源。

  1. Engine/Source/Runtime/Core/Public/Math/UnrealMathNeon.h:902:35: error: use of undeclared identifier 'vcvt_f16_f32'

Unreal 4.14
macOS Sierra 10.12.5
Xcode 8.3.3

修改 UnrealMathNeon.h 的 VectorStoreHalf4 函数如下:

template 
FORCEINLINE void VectorStoreHalf4(VectorRegister Vec, void* RESTRICT Ptr)
{
    float16x4_t f16x4;

    for (int x=0;x<4;x++)
    {
        f16x4[x] = Vec[x];
    }

    if (bAligned)
    {
        vst1_u8( (uint8_t *)Ptr, f16x4 );
    }
    else
    {
        uint32_t buf[2];
        vst1_u8( (uint8_t *)buf, f16x4 );
        *(float32_t *)Ptr = buf[0]; 
    }
}

相关链接:https://forums.unrealengine.com/showthread.php?140982-Can-t-Deploy-C-Project-on-iOS

  1. SdkboxChartboostSettings.h:25:7: Generating code for declaration 'USdkboxChartboostSettings::~USdkboxChartboostSettings'

~~~在 USdkboxChartboostSettings 声明和实现一下析构函数。~~~
2017/08/22:升级 NVPACK 到 1R6 就好了。

  1. 头文件顺序
UnrealBuildTool: ERROR: All source files in module "SdkboxChartboost" must include the same precompiled header first.  Currently "/Users/jryin/workspace/sdkbox/chartboost_unreal_plugin/output/HostProject/Plugins/SdkboxChartboost/Source/SdkboxChartboost/Private/SdkboxChartboostPrivatePCH.h" is included by most of the source files.  The following source files are not including "/Users/jryin/workspace/sdkbox/chartboost_unreal_plugin/output/HostProject/Plugins/SdkboxChartboost/Source/SdkboxChartboost/Private/SdkboxChartboostPrivatePCH.h" as their first include:

Unreal 管的宽啊,cpp 里面一定要先包含 SdkboxChartboostPrivatePCH.h

你可能感兴趣的:(Unreal 升级手记)