- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在关注 this tutorial我从字面上复制并粘贴了 Countdown.h 和 Countdown.cpp 的内容。
Visual Studio Code(我在 mac 上)给出了以下提示
#include errors detected. Please update your includePath. IntelliSense features for this translation unit (/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h) will be provided by the Tag Parser.
cannot open source file "new" (dependency of "GameFramework/Actor.h")
在这条线上
#include "GameFramework/Actor.h"
而我从UE得到的编译错误如下
Running Mono...
Setting up Mono
~/Documents/UE_4.18/Engine ~/Documents/UE_4.18/Engine/Binaries/Mac
Compiling game modules for hot reload
Parsing headers for HowTo_VTEEditor
Running UnrealHeaderTool "/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/HowTo_VTE.uproject" "/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/HowTo_VTEEditor/Development/HowTo_VTEEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed
Reflection code generated for HowTo_VTEEditor in 10,277899 seconds
Performing 3 actions (5 in parallel)
[2/3] Compile Countdown.cpp
[1/3] Compile Countdown.gen.cpp
In file included from /Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.gen.cpp:8:
../../../Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h:29:5: error: unknown type name 'UTextRenderComponent'
UTextRenderComponent* CountdownText;
^
../../../Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h:12:5: error: cannot initialize return object of type 'UObject *' with an rvalue of type 'ACountdown *'
GENERATED_BODY()
^~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:585:29: note: expanded from macro 'GENERATED_BODY'
#define GENERATED_BODY(...) BODY_MACRO_COMBINE(CURRENT_FILE_ID,_,__LINE__,_GENERATED_BODY);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:580:37: note: expanded from macro 'BODY_MACRO_COMBINE'
#define BODY_MACRO_COMBINE(A,B,C,D) BODY_MACRO_COMBINE_INNER(A,B,C,D)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:579:43: note: expanded from macro 'BODY_MACRO_COMBINE_INNER'
#define BODY_MACRO_COMBINE_INNER(A,B,C,D) A##B##C##D
^~~~~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
../../../Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.generated.h:81:2: note: expanded from macro 'HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_GENERATED_BODY'
HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_ENHANCED_CONSTRUCTORS \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.generated.h:57:54: note: expanded from macro 'HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_ENHANCED_CONSTRUCTORS'
DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, ACountdown); \
^
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:1387:11: note: expanded from macro '\
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER'
return new (EC_InternalUseOnlyConstructor, (UObject*)GetTransientPackage(), NAME_None, RF_NeedLoad | RF_ClassDefaultObject | RF_TagGarbageTemp) TClass(Helper); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:1:
../../../Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h:29:5: error: unknown type name 'UTextRenderComponent'
UTextRenderComponent* CountdownText;
^
../../../Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h:12:5: error: cannot initialize return object of type 'UObject *' with an rvalue of type 'ACountdown *'
GENERATED_BODY()
^~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:585:29: note: expanded from macro 'GENERATED_BODY'
#define GENERATED_BODY(...) BODY_MACRO_COMBINE(CURRENT_FILE_ID,_,__LINE__,_GENERATED_BODY);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:580:37: note: expanded from macro 'BODY_MACRO_COMBINE'
#define BODY_MACRO_COMBINE(A,B,C,D) BODY_MACRO_COMBINE_INNER(A,B,C,D)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:579:43: note: expanded from macro 'BODY_MACRO_COMBINE_INNER'
#define BODY_MACRO_COMBINE_INNER(A,B,C,D) A##B##C##D
^~~~~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
../../../Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.generated.h:81:2: note: expanded from macro 'HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_GENERATED_BODY'
HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_ENHANCED_CONSTRUCTORS \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.generated.h:57:54: note: expanded from macro 'HowTo_VTE_Source_HowTo_VTE_Countdown_h_12_ENHANCED_CONSTRUCTORS'
DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, ACountdown); \
^
Runtime/CoreUObject/Public/UObject/ObjectMacros.h:1387:11: note: expanded from macro '\
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER'
return new (EC_InternalUseOnlyConstructor, (UObject*)GetTransientPackage(), NAME_None, RF_NeedLoad | RF_ClassDefaultObject | RF_TagGarbageTemp) TClass(Helper); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:11:44: error: use of undeclared identifier 'UTextRenderComponent'
CountdownText = CreateDefaultSubobject<UTextRenderComponent>(TEXT("CountdownNumber"));
^
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:12:43: error: use of undeclared identifier 'EHTA_Center'; did you mean 'kTXNCenter'?
CountdownText->SetHorizontalAlignment(EHTA_Center);
^~~~~~~~~~~
kTXNCenter
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/MacTextEditor.h:793:3: note: 'kTXNCenter' declared here
kTXNCenter = 4,
^
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:22:12: error: cannot initialize object parameter of type 'AActor' with an expression of type 'ACountdown'
Super::BeginPlay();
^~~~~~~~~
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:25:5: error: cannot initialize object parameter of type 'const AActor' with an expression of type 'ACountdown'
GetWorldTimerManager().SetTimer(CountdownTimerHandle, this, &ACountdown::AdvanceTimer, 1.0f, true);
^~~~~~~~~~~~~~~~~~~~
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:31:12: error: no matching member function for call to 'Tick'
Super::Tick( DeltaTime );
~~~~~~~^~~~
Runtime/Engine/Classes/GameFramework/Actor.h:2077:15: note: candidate function not viable: no known conversion from 'ACountdown' to 'AActor' for object argument
virtual void Tick( float DeltaSeconds );
^
Runtime/Engine/Classes/GameFramework/Actor.h:2432:15: note: candidate function not viable: requires 2 arguments, but 1 was provided
virtual void Tick( float DeltaTime, enum ELevelTick TickType ) final
^
/Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.cpp:47:9: error: cannot initialize object parameter of type 'const AActor' with an expression of type 'ACountdown'
GetWorldTimerManager().ClearTimer(CountdownTimerHandle);
^~~~~~~~~~~~~~~~~~~~
2 errors generated.
8 errors generated.
ERROR: UBT ERROR: Failed to produce item: /Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Binaries/Mac/UE4Editor-HowTo_VTE-6063.dylib
Total build time: 28,61 seconds (Local executor: 0,00 seconds)
好像这两个错误是相关的,但我不明白可能出了什么问题。我注意到虽然我的项目位于 /Documents/Unreal Projects/HowTo_VTE/Source/HowToVTE/Countdown.cpp
虚幻的东西在 Documents/UE_4.18/Engine/...
这可能是找不到包含的罪魁祸首吗?
编辑:我尝试使用 Actor.h 的绝对路径包含,但我得到了相同的编译错误
最佳答案
以下是了解此错误告诉您的内容的方法:
[1/3] Compile Countdown.gen.cpp
In file included from /Users/massimobortolamei/Documents/Unreal Projects/HowTo_VTE/Intermediate/Build/Mac/UE4Editor/Inc/HowTo_VTE/Countdown.gen.cpp:8:
../../../Unreal Projects/HowTo_VTE/Source/HowTo_VTE/Countdown.h:29:5: error: unknown type name 'UTextRenderComponent'
UTextRenderComponent* CountdownText;
^
您的编译器告诉您它不知道 UTextRenderComponent 是什么,因为尚未包含定义它的文件。这就是添加 include (#include "Runtime/Engine/Classes/Components/TextRenderComponent.h"
) 的原因。但是,在现有 header 中包含其他 header 通常不是一个好主意,因为这会增加大型项目的编译时间(Here's 对为什么会这样的解释。)
更好的做法是在 header 中前向声明 UTextRenderComponent,然后在 .cpp 文件中包含 TextRenderComponent header 。 (Some info 关于前向声明)Unreal 的构建工具提供了一种使用 class 关键字执行此操作的便捷方法。
像这样声明你的成员变量:
class UTextRenderComponent* CountdownText;
然后在您的 .cpp 文件中包含所需的 header 。您在此实例中所做的是告诉您的编译器 UTextRenderComponent 是一个类,并且您 promise 稍后提供定义。您的编译器在解析 Countdown.h 时不需要知道该定义是什么,因为您只是包含一个指向该类的指针,所以它不需要知道它的大小或任何其他有关它的信息 - 只是它是一个在别处定义的类。
所以是的,您在上面找到的解决方案可以工作,但不如在您的 header 中转发声明您的类然后在您的实现中包含其他 header 那么理想。
关于c++ - 虚幻 : "Unknown type name UTextRenderComponent" compile error while following tutorial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47578891/
我正在尝试创建一个类似 Twitter 的关注/关注系统。表格设计是这样的 - leader_id | following_id | is_mutual 1 |
尊敬的数据库专家/程序员: 我有一个mysql表,里面有用户信息,比如 id user_id name etc. 1 userA 2
我正在尝试设置我的 User GraphQL 模型以具有要查询的 followers 和 following 属性。但是,我无法在 Sequelize 中建立关系。我正在尝试使用 Follower 模
在我的网站上,我有一个类似 twitter 的概念,我有一个具有以下结构的用户连接表, ============================================= ==========
下面列出的区别是什么: 最佳答案 首先,你知道Meta Robots Tags吗?Meta Robots Tags 是告诉蜘蛛或爬虫要抓取或索引哪些页面。 跟随意味着:页面将被抓取。 No
我正在做一些项目,我在考虑关注者和像推特这样的关注系统。我在数据库中有成员表。我怎样才能做关注者系统。逻辑是什么?我做了类似的事情:我创建了名称跟随的新表,我有 3 行。这些行是 id、user_id
这是用于 C 代码检测。我正在尝试标记没有中断的 case 语句。当 break 语句之前有多行时,树的层次结构如下所示。这是 C 中的示例: switch (x) { case 1: i
大家好,我正在使用 MySQL 和 PHP 制作关注者/被关注系统,所以我想获取我关注的用户的所有视频并按 ID 描述排序。 数据库架构: 例如,如果我的 user_id = 1,并且如果我正在关注
我正在尝试根据#following #followers 找到一个计算推特用户“重要性”的方程式 我要考虑的事情: 1. #followers/#following越多,他越重要。 2. 在 20/2
这是我得到的错误 undefined method `followed_users?' for # 提取的源代码(大约第 3 行): 1: 2: 3: 4: 5: 6:
我有一个用户模型,可以创建关系以拥有关注者并关注其他人,我从 Rails 教程中学到的一切都非常有效。一件事是,我正在尝试通过添加能够看到其他人的关注者并能够拥有关注/关注按钮选项的选项来将其推进到下
我正在尝试通过 Twitter Javascript Api(请参阅 here )检查登录用户是否在 Twitter 上关注我。如果没有,我将显示一个关注按钮。现在我似乎无法找出命令 isFollow
我希望能够使用 iOS 5 的 Twitter API 将所有用户关注者和关注者用户名放入 NSDictionary... 不过我遇到了障碍。我不知道如何使用 Twitter API 来执行此操作..
希望在域之后但在其他任何内容之前获取值。 因此 URL 的示例是: www.domain.com/following#2 我只想从该 url 中获取后面的单词。 目前有这个可以重定向用户并在任何片段等
我有下表: 关系 id、follower_id、followee_id、状态 用户 id、姓名、电子邮件 我想查找正在关注或被特定用户关注的所有用户。 这是我到目前为止所拥有的,但速度非常慢: SEL
我是 state Management 的新手,正在使用 provider package 。产生这些类型的异常有多少种不同的原因,我该如何解决,此异常是在 didChangeDependencies
所以我在这里尝试制作一个类似 Instagram 的应用程序,但仅适用于汽车,我尝试单击“关注”和“关注者”来查看我关注的人和关注我的人,但我不确定为什么会有NPE吗... 我成功地可以关注用户,用户
我是 state Management 的新手,正在使用 provider package 。产生这些类型的异常有多少种不同的原因,我该如何解决,此异常是在 didChangeDependencies
我讨厌发布“这应该很容易,我错过了什么”问题,但是......这应该很容易,我错过了什么?我在这个测试代码上没有得到匹配,我不明白为什么。模式是(或应该是)“任何三个数字,后跟任何三个相同的数字,后跟
我正在研究 Chapter 11在 Hartl 的教程中,试图让用户 Controller 中的未登录用户访问关注者和关注页面通过。我遇到了一个错误,Rails 会提示未定义的 admin? 方法,尽
我是一名优秀的程序员,十分优秀!