Download

Compiling my copy of SMultiLineEditableText - unresolved externals?

Hey,
I made a copy from SMultiLineEditableText.h and SMultiLineEditableText.cpp out of** Runtime/Slate/Public (Private) /Widgets**, changed some headers and the class name obviously, and tried to compile it, but I get the following result:
[spoiler]
1> Creating makefile for RichEditor (changes to module files)
1> Performing 1 actions (4 in parallel)
1> [1/1] Link UE4Editor-Rich.dll
1> Creating library C:\Users\Johnny\Documents\Unreal Projects\Rich\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-Rich.lib and object C:\Users\Johnny\Documents\Unreal Projects\Rich\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-Rich.exp
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: class TSharedRef<class IRun,0> __cdecl FTextLayout::FRunModel::GetRun(void)const " (?GetRun@FRunModel@FTextLayout@@QEBA?AV?$TSharedRef@VIRun@@$0A@@@XZ) referenced in function "public: class TSharedPtr<class IRun const ,0> __cdecl STerminalBox::GetRunUnderCursor(void)const " (?GetRunUnderCursor@STerminalBox@@QEBA?AV?$TSharedPtr@$$CBVIRun@@$0A@@@XZ)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: struct FTextRange __cdecl FTextLayout::FRunModel::GetTextRange(void)const " (?GetTextRange@FRunModel@FTextLayout@@QEBA?AUFTextRange@@XZ) referenced in function "public: class TSharedPtr<class IRun const ,0> __cdecl STerminalBox::GetRunUnderCursor(void)const " (?GetRunUnderCursor@STerminalBox@@QEBA?AV?$TSharedPtr@$$CBVIRun@@$0A@@@XZ)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: int __cdecl FTextLayout::FTextOffsetLocations::TextLocationToOffset(struct FTextLocation const &)const " (?TextLocationToOffset@FTextOffsetLocations@FTextLayout@@QEBAHAEBUFTextLocation@@@Z) referenced in function “private: virtual int __cdecl STerminalBox::FTextInputMethodContext::GetCharacterIndexFromPoint(struct FVector2D const &)” (?GetCharacterIndexFromPoint@FTextInputMethodContext@STerminalBox@@EEAAHAEBUFVector2D@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: struct FTextLocation __cdecl FTextLayout::FTextOffsetLocations::OffsetToTextLocation(int)const " (?OffsetToTextLocation@FTextOffsetLocations@FTextLayout@@QEBA?AUFTextLocation@@H@Z) referenced in function “private: virtual bool __cdecl STerminalBox::FTextInputMethodContext::GetTextBounds(unsigned int,unsigned int,struct FVector2D &,struct FVector2D &)” (?GetTextBounds@FTextInputMethodContext@STerminalBox@@EEAA_NIIAEAUFVector2D@@0@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: int __cdecl FTextLayout::FTextOffsetLocations::GetTextLength(void)const " (?GetTextLength@FTextOffsetLocations@FTextLayout@@QEBAHXZ) referenced in function “private: virtual unsigned int __cdecl STerminalBox::FTextInputMethodContext::GetTextLength(void)” (?GetTextLength@FTextInputMethodContext@STerminalBox@@EEAAIXZ)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: enum ECursorMoveMethod __cdecl FMoveCursor::GetMoveMethod(void)const " (?GetMoveMethod@FMoveCursor@@QEBA?AW4ECursorMoveMethod@@XZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: bool __cdecl FMoveCursor::IsHorizontalMovement(void)const " (?IsHorizontalMovement@FMoveCursor@@QEBA_NXZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: enum ECursorAction __cdecl FMoveCursor::GetAction(void)const " (?GetAction@FMoveCursor@@QEBA?AW4ECursorAction@@XZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: struct FIntPoint __cdecl FMoveCursor::GetMoveDirection(void)const " (?GetMoveDirection@FMoveCursor@@QEBA?AUFIntPoint@@XZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: struct FVector2D __cdecl FMoveCursor::GetLocalPosition(void)const " (?GetLocalPosition@FMoveCursor@@QEBA?AUFVector2D@@XZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: enum ECursorMoveGranularity __cdecl FMoveCursor::GetGranularity(void)const " (?GetGranularity@FMoveCursor@@QEBA?AW4ECursorMoveGranularity@@XZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: float __cdecl FMoveCursor::GetGeometryScale(void)const " (?GetGeometryScale@FMoveCursor@@QEBAMXZ) referenced in function “private: virtual class FReply __cdecl STerminalBox::MoveCursor(class FMoveCursor)” (?MoveCursor@STerminalBox@@EEAA?AVFReply@@VFMoveCursor@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnKeyChar(struct FCharacterEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnKeyChar@FTextEditHelper@@SA?AVFReply@@AEBUFCharacterEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnKeyChar(struct FGeometry const &,struct FCharacterEvent const &)” (?OnKeyChar@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFCharacterEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnKeyDown(struct FKeyEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnKeyDown@FTextEditHelper@@SA?AVFReply@@AEBUFKeyEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnKeyDown(struct FGeometry const &,struct FKeyEvent const &)” (?OnKeyDown@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFKeyEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnMouseButtonDown(struct FGeometry const &,struct FPointerEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnMouseButtonDown@FTextEditHelper@@SA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnMouseButtonDown(struct FGeometry const &,struct FPointerEvent const &)” (?OnMouseButtonDown@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnMouseMove(struct FGeometry const &,struct FPointerEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnMouseMove@FTextEditHelper@@SA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnMouseMove(struct FGeometry const &,struct FPointerEvent const &)” (?OnMouseMove@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnMouseButtonUp(struct FGeometry const &,struct FPointerEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnMouseButtonUp@FTextEditHelper@@SA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnMouseButtonUp(struct FGeometry const &,struct FPointerEvent const &)” (?OnMouseButtonUp@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class FReply __cdecl FTextEditHelper::OnMouseButtonDoubleClick(struct FGeometry const &,struct FPointerEvent const &,class TSharedRef<class ITextEditorWidget,0> const &)” (?OnMouseButtonDoubleClick@FTextEditHelper@@SA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@AEBV?$TSharedRef@VITextEditorWidget@@$0A@@@@Z) referenced in function “protected: virtual class FReply __cdecl STerminalBox::OnMouseButtonDoubleClick(struct FGeometry const &,struct FPointerEvent const &)” (?OnMouseButtonDoubleClick@STerminalBox@@MEAA?AVFReply@@AEBUFGeometry@@AEBUFPointerEvent@@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static float __cdecl FTextEditHelper::GetFontHeight(struct FSlateFontInfo const &)” (?GetFontHeight@FTextEditHelper@@SAMAEBUFSlateFontInfo@@@Z) referenced in function "protected: virtual struct FVector2D __cdecl STerminalBox::ComputeDesiredSize(float)const " (?ComputeDesiredSize@STerminalBox@@MEBA?AUFVector2D@@M@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static float __cdecl FTextEditHelper::CalculateCaretWidth(float)” (?CalculateCaretWidth@FTextEditHelper@@SAMM@Z) referenced in function "protected: virtual struct FVector2D __cdecl STerminalBox::ComputeDesiredSize(float)const " (?ComputeDesiredSize@STerminalBox@@MEBA?AUFVector2D@@M@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: static class TSharedRef<class FTextBlockLayout,0> __cdecl FTextBlockLayout::Create(struct FTextBlockStyle,class TSharedRef<class ITextLayoutMarshaller,0>,class TSharedPtr<class IBreakIterator,0>)” (?Create@FTextBlockLayout@@SA?AV?$TSharedRef@VFTextBlockLayout@@$0A@@@UFTextBlockStyle@@V?$TSharedRef@VITextLayoutMarshaller@@$0A@@@V?$TSharedPtr@VIBreakIterator@@$0A@@@@Z) referenced in function “public: void __cdecl STerminalBox::Construct(struct STerminalBox::FArguments const &)” (?Construct@STerminalBox@@QEAAXAEBUFArguments@1@@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: struct FVector2D __cdecl FTextBlockLayout::ComputeDesiredSize(struct FTextBlockLayout::FWidgetArgs const &,float,struct FTextBlockStyle const &)” (?ComputeDesiredSize@FTextBlockLayout@@QEAA?AUFVector2D@@AEBUFWidgetArgs@1@MAEBUFTextBlockStyle@@@Z) referenced in function "protected: virtual struct FVector2D __cdecl STerminalBox::ComputeDesiredSize(float)const " (?ComputeDesiredSize@STerminalBox@@MEBA?AUFVector2D@@M@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: int __cdecl FTextBlockLayout::OnPaint(class FPaintArgs const &,struct FGeometry const &,class FSlateRect const &,class FSlateWindowElementList &,int,class FWidgetStyle const &,bool)” (?OnPaint@FTextBlockLayout@@QEAAHAEBVFPaintArgs@@AEBUFGeometry@@AEBVFSlateRect@@AEAVFSlateWindowElementList@@HAEBVFWidgetStyle@@_N@Z) referenced in function "protected: virtual int __cdecl STerminalBox::OnPaint(class FPaintArgs const &,struct FGeometry const &,class FSlateRect const &,class FSlateWindowElementList &,int,class FWidgetStyle const &,bool)const " (?OnPaint@STerminalBox@@MEBAHAEBVFPaintArgs@@AEBUFGeometry@@AEBVFSlateRect@@AEAVFSlateWindowElementList@@HAEBVFWidgetStyle@@_N@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: void __cdecl FTextBlockLayout::OverrideTextStyle(struct FTextBlockStyle const &)” (?OverrideTextStyle@FTextBlockLayout@@QEAAXAEBUFTextBlockStyle@@@Z) referenced in function "protected: virtual int __cdecl STerminalBox::OnPaint(class FPaintArgs const &,struct FGeometry const &,class FSlateRect const &,class FSlateWindowElementList &,int,class FWidgetStyle const &,bool)const " (?OnPaint@STerminalBox@@MEBAHAEBVFPaintArgs@@AEBUFGeometry@@AEBVFSlateRect@@AEAVFSlateWindowElementList@@HAEBVFWidgetStyle@@_N@Z)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol “public: class FChildren * __cdecl FTextBlockLayout::GetChildren(void)” (?GetChildren@FTextBlockLayout@@QEAAPEAVFChildren@@XZ) referenced in function “protected: virtual class FChildren * __cdecl STerminalBox::GetChildren(void)” (?GetChildren@STerminalBox@@MEAAPEAVFChildren@@XZ)
1>STerminalBox.cpp.obj : error LNK2019: unresolved external symbol "public: void __cdecl FTextBlockLayout::ArrangeChildren(struct FGeometry const &,class FArrangedChildren &)const " (?ArrangeChildren@FTextBlockLayout@@QEBAXAEBUFGeometry@@AEAVFArrangedChildren@@@Z) referenced in function "protected: virtual void __cdecl STerminalBox::OnArrangeChildren(struct FGeometry const &,class FArrangedChildren &)const " (?OnArrangeChildren@STerminalBox@@MEBAXAEBUFGeometry@@AEAVFArrangedChildren@@@Z)
1>C:\Users\Johnny\Documents\Unreal Projects\Rich\Binaries\Win64\UE4Editor-Rich.dll : fatal error LNK1120: 26 unresolved externals
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1>ERROR : UBT error : Failed to produce item: C:\Users\Johnny\Documents\Unreal Projects\Rich\Binaries\Win64\UE4Editor-Rich.dll
1> Total build time: 5,59 seconds
[/spoiler]
Unresolved externals point out that there is a target missing in my Build.cs. But which? Slate and SlateCore is included… Can someone help? Thanks :slight_smile: