unrealcv/unrealcv

FusionCamSensor.h:92:25: error: use of undeclared identifier 'ECameraProjectionMode'

missingdaysqxy opened this issue · 2 comments

  • Operating System: Ubuntu 18.04
  • UE4 Version: 4.25.3 from github release
  • UnrealCV Version: from branch 4.25, commit dedd72b
  • Client (python2, 3 or matlab):anaconda 4.8.3 with python 3.8.3
  • Problem Description: I've downloaded ue4 from url above, then I cd to it and run "./Setup.sh && ./GenerateProjectFiles.sh && make", and it worked well. Then I cloned unrealcv, checkout into branch 4.25, and run "python build.py --UE4 /home/myname/codes/UnrealEngine-4.25.3-release“,then, it reported the errors as follow:

(Maybe you need to scroll the codes left since the error occurs at a very lone line, just above 1 warning and 1 error generated.1 warning and 1 error generated.

……
 In file included from Runtime/CoreUObject/Public/UObject/ScriptInterface.h:11:
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/CoreUObject/Public/Templates/Casts.h:221:30: warning: 'DoCast' is deprecated: Cast<>() and CastChecked<>() should not be used with FProperties. Use CastField<>() or CastFieldChecked<>() instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          return TCastImpl<From, To>::DoCast(Src);
                                      ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Commands/AliasHandler.cpp:295:40: note: in instantiation of function template specialization 'Cast<FNumericProperty, FProperty>' requested here
                          UNumericProperty* NumericProperty = Cast<UNumericProperty>(*It);
                                                              ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/CoreUObject/Public/Templates/Casts.h:153:2: note: 'DoCast' has been explicitly marked deprecated here
          UE_DEPRECATED(4.25, "Cast<>() and CastChecked<>() should not be used with FProperties. Use CastField<>() or CastFieldChecked<>() instead.")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/BPFunctionLib/SensorBPLib.cpp:4:
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Sensor/CameraSensor/FusionCamSensor.h:92:25: error: use of undeclared identifier 'ECameraProjectionMode'
          void SetProjectionType(ECameraProjectionMode::Type ProjectionType);
                                 ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/BPFunctionLib/SensorBPLib.cpp:19:79: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
                  TArray<UActorComponent*> PawnComponents = FUnrealcvServer::Get().GetPawn()->GetComponentsByClass(UFusionCamSensor::StaticClass());
                                                                                              ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/BPFunctionLib/VisionBPLib.cpp:15:
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Sensor/CameraSensor/FusionCamSensor.h:92:25: error: use of undeclared identifier 'ECameraProjectionMode'
          void SetProjectionType(ECameraProjectionMode::Type ProjectionType);
                                 ^
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Actor/FusionCameraActor.cpp:3:
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Actor/FusionCameraActor.h:4:
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Sensor/CameraSensor/FusionCamSensor.h:92:25: error: use of undeclared identifier 'ECameraProjectionMode'
          void SetProjectionType(ECameraProjectionMode::Type ProjectionType);
                                 ^
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Actor/StereoCameraActor.cpp:4:
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Actor/StereoCameraActor.h:6:
  In file included from /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Actor/FusionCameraActor.h:4:
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Public/Sensor/CameraSensor/FusionCamSensor.h:92:25: error: use of undeclared identifier 'ECameraProjectionMode'
          void SetProjectionType(ECameraProjectionMode::Type ProjectionType);
                                 ^
  1 warning and 1 error generated.
  1 error generated.
  1 error generated.
  21 warnings generated.
  1 error generated.
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Component/KeypointComponent.cpp:44:56: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> MeshComponents = OwnerActor->GetComponentsByClass(UMeshComponent::StaticClass());
                                                                ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:50:57: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> AnnotationComponents = Actor->GetComponentsByClass(UAnnotationComponent::StaticClass());
                                                                 ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:83:57: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> AnnotationComponents = Actor->GetComponentsByClass(UAnnotationComponent::StaticClass());
                                                                 ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:84:51: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> MeshComponents = Actor->GetComponentsByClass(UMeshComponent::StaticClass());
                                                           ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:130:57: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> AnnotationComponents = Actor->GetComponentsByClass(UAnnotationComponent::StaticClass());
                                                                 ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:139:51: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> MeshComponents = Actor->GetComponentsByClass(UMeshComponent::StaticClass());
                                                           ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  /home/liuqixuan/codes/unrealcv/Plugins/UnrealCV/HostProject/Plugins/UnrealCV/Source/UnrealCV/Private/Controller/ObjectAnnotator.cpp:161:57: warning: 'GetComponentsByClass' is deprecated: Use one of the GetComponents implementations as appropriate Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
          TArray<UActorComponent*> AnnotationComponents = Actor->GetComponentsByClass(UAnnotationComponent::StaticClass());
                                                                 ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h:2965:2: note: 'GetComponentsByClass' has been explicitly marked deprecated here
          UE_DEPRECATED(4.24, "Use one of the GetComponents implementations as appropriate")
          ^
  /home/liuqixuan/codes/UnrealEngine-4.25.3-release/Engine/Source/Runtime/Core/Public/Misc/CoreMiscDefines.h:227:43: note: expanded from macro 'UE_DEPRECATED'
  #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
                                            ^
  6 warnings generated.
  1 warning generated.
Took 35.306382s to run mono, ExitCode=6
UnrealBuildTool failed. See log for more details. (/home/liuqixuan/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Game-Linux-Development.txt)
AutomationTool exiting with ExitCode=6 (6)
RunUAT ERROR: AutomationTool was unable to run successfully.

Hi, @missingdaysqxy :

Please follow the solution posted by Shenglin in issue #195. The build.py is currently broken for 4.25 branch and we did not have time to fix it.

Building the plugin in a C++ UE4 project can work.

@missingdaysqxy The `4.27-stable' branch has solved this problem, and the build.py can be used again.