Description

Unable to add API specifier to FMovieSceneTrackEditor, results in compile errors (pasted in the callstack field)

Steps to Reproduce
  1. In MovieSceneTrackEditor.h, Change
    • class FMovieSceneTrackEditor
    • to
    • class SEQUENCER_API FMovieSceneTrackEditor
  2. Compile Win64 Development Editor
Callstack
UE4Editor-NiagaraEditor.dll (0:00.89 at +0:37)
2>     Creating library D:\P4\Release-4.15\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-NiagaraEditor.suppressed.lib and object D:\P4\Release-4.15\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-NiagaraEditor.suppressed.exp
2>Module.NiagaraEditor.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FMovieSceneTrackEditor::FMovieSceneTrackEditor(class TSharedRef<class ISequencer,0>)" (__imp_??0FMovieSceneTrackEditor@@QEAA@V?$TSharedRef@VISequencer@@$0A@@@@Z) referenced in function "public: __cdecl FNiagaraTrackEditor::FNiagaraTrackEditor(class TSharedPtr<class ISequencer,0>)" (??0FNiagaraTrackEditor@@QEAA@V?$TSharedPtr@VISequencer@@$0A@@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl FMovieSceneTrackEditor::~FMovieSceneTrackEditor(void)" (__imp_??1FMovieSceneTrackEditor@@UEAA@XZ) referenced in function "public: virtual void * __cdecl FNiagaraTrackEditor::`scalar deleting destructor'(unsigned int)" (??_GFNiagaraTrackEditor@@UEAAPEAXI@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::AddKey(struct FGuid const &)" (?AddKey@FMovieSceneTrackEditor@@UEAAXAEBUFGuid@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class UMovieSceneTrack * __cdecl FMovieSceneTrackEditor::AddTrack(class UMovieScene *,struct FGuid const &,class TSubclassOf<class UMovieSceneTrack>,class FName)" (?AddTrack@FMovieSceneTrackEditor@@UEAAPEAVUMovieSceneTrack@@PEAVUMovieScene@@AEBUFGuid@@V?$TSubclassOf@VUMovieSceneTrack@@@@VFName@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::BindCommands(class TSharedRef<class FUICommandList,0>)" (?BindCommands@FMovieSceneTrackEditor@@UEAAXV?$TSharedRef@VFUICommandList@@$0A@@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::BuildAddTrackMenu(class FMenuBuilder &)" (?BuildAddTrackMenu@FMovieSceneTrackEditor@@UEAAXAEAVFMenuBuilder@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::BuildObjectBindingEditButtons(class TSharedPtr<class SHorizontalBox,0>,struct FGuid const &,class UClass const *)" (?BuildObjectBindingEditButtons@FMovieSceneTrackEditor@@UEAAXV?$TSharedPtr@VSHorizontalBox@@$0A@@@AEBUFGuid@@PEBVUClass@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::BuildObjectBindingTrackMenu(class FMenuBuilder &,struct FGuid const &,class UClass const *)" (?BuildObjectBindingTrackMenu@FMovieSceneTrackEditor@@UEAAXAEAVFMenuBuilder@@AEBUFGuid@@PEBVUClass@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class TSharedPtr<class SWidget,0> __cdecl FMovieSceneTrackEditor::BuildOutlinerEditWidget(struct FGuid const &,class UMovieSceneTrack *,struct FBuildEditWidgetParams const &)" (?BuildOutlinerEditWidget@FMovieSceneTrackEditor@@UEAA?AV?$TSharedPtr@VSWidget@@$0A@@@AEBUFGuid@@PEAVUMovieSceneTrack@@AEBUFBuildEditWidgetParams@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::BuildTrackContextMenu(class FMenuBuilder &,class UMovieSceneTrack *)" (?BuildTrackContextMenu@FMovieSceneTrackEditor@@UEAAXAEAVFMenuBuilder@@PEAVUMovieSceneTrack@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual enum EMultipleRowMode __cdecl FMovieSceneTrackEditor::GetMultipleRowMode(void)const " (?GetMultipleRowMode@FMovieSceneTrackEditor@@UEBA?AW4EMultipleRowMode@@XZ)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FMovieSceneTrackEditor::HandleAssetAdded(class UObject *,struct FGuid const &)" (?HandleAssetAdded@FMovieSceneTrackEditor@@UEAA_NPEAVUObject@@AEBUFGuid@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FMovieSceneTrackEditor::IsAllowedKeyAll(void)const " (?IsAllowedKeyAll@FMovieSceneTrackEditor@@UEBA_NXZ)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FMovieSceneTrackEditor::IsAllowedToAutoKey(void)const " (?IsAllowedToAutoKey@FMovieSceneTrackEditor@@UEBA_NXZ)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::OnInitialize(void)" (?OnInitialize@FMovieSceneTrackEditor@@UEAAXXZ)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::OnRelease(void)" (?OnRelease@FMovieSceneTrackEditor@@UEAAXXZ)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl FMovieSceneTrackEditor::PaintTrackArea(class FPaintArgs const &,struct FGeometry const &,class FSlateRect const &,class FSlateWindowElementList &,int,class FWidgetStyle const &)" (?PaintTrackArea@FMovieSceneTrackEditor@@UEAAHAEBVFPaintArgs@@AEBUFGeometry@@AEBVFSlateRect@@AEAVFSlateWindowElementList@@HAEBVFWidgetStyle@@@Z)
2>Module.NiagaraEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FMovieSceneTrackEditor::Tick(float)" (?Tick@FMovieSceneTrackEditor@@UEAAXM@Z)
2>D:\P4\Release-4.15\Engine\Binaries\Win64\UE4Editor-NiagaraEditor.dll : fatal error LNK1120: 18 unresolved externals

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-41641 in the post.

1
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.154.16
Target Fix4.16
Fix Commit3290449
Main Commit3617655
CreatedFeb 7, 2017
ResolvedFeb 7, 2017
UpdatedApr 27, 2018