[Mono-ue] MonoEditor Linker error

Michael Hutchinson m.j.hutchinson at gmail.com
Sat Nov 1 20:40:06 UTC 2014


It's defined in MonoBindings/Name.cs and has to exactly mirror the
layout of the native type - we pass pointers back and forth between
managed and native code to reduce interop overhead.

On 1 November 2014 15:29, Eugene Tchoukhrov <ujen at vicogamestudio.com> wrote:
> Where can I adjust the size of FName? If I can.
> ________________________________
> From: Michael Hutchinson
> Sent: ‎11/‎1/‎2014 12:27 PM
> To: Eugene Tchoukhrov
> Cc: Eugene Tchoukhrov; mono-ue at lists.ximian.com
> Subject: RE: [Mono-ue] MonoEditor Linker error
>
> Yes, the patchset is intended for 4.4, we haven't ported it to 4.5.
>
> AFAIK the size/layout of FName was changed between 4.4 and 4.5 which is
> probably why that smoke test is failing.
>
> On Nov 1, 2014 1:20 PM, "Eugene Tchoukhrov" <ujen at vicogamestudio.com> wrote:
>>
>> Ok, well I fixed the Enum Prefix bug with this as line 1629 in
>> MonoScriptCodeGenerator:
>>
>> if (Enum->GetCppForm() == UEnum::ECppForm::Regular)
>>
>>
>>
>> Everything is now building correctly but while the editor is loading there
>> is an Access Violation exception on line 424 of MonoUnrealObject.cpp, here
>> is the output:
>>
>> [2014.11.01-17.14.54:578][  0]LogMono: Found assembly mscorlib.dll at path
>> '../../../Engine/Binaries/ThirdParty/EMono/framework/Xamarin.Unreal/v1.0/mscorlib.dll'.
>>
>> [2014.11.01-17.14.54:580][  0]LogMono: Loaded assembly from path
>> '../../../Engine/Binaries/ThirdParty/EMono/framework/Xamarin.Unreal/v1.0/mscorlib.dll'.
>>
>> [2014.11.01-17.14.54:697][  0]LogMono: Running TestStructDefaultParams...
>>
>> [2014.11.01-17.14.54:714][  0]LogMono: Running TestArray...
>>
>> [2014.11.01-17.14.54:747][  0]LogMono: Running TestWriteableArray...
>>
>> [2014.11.01-17.14.54:782][  0]LogMono: Running TestObjectArrayProperty...
>>
>> [2014.11.01-17.14.54:800][  0]LogMono: Running TestWeakObjectProperties...
>>
>> [2014.11.01-17.14.54:814][  0]LogMono: Running TestObjectProperties...
>>
>> [2014.11.01-17.14.54:816][  0]LogMono: Running TestSimpleTypeProperties...
>>
>> [2014.11.01-17.14.54:854][  0]LogMono: Running TestStringProperties...
>>
>> [2014.11.01-17.14.54:859][  0]LogMono: Running TestNameProperties...
>>
>> First-chance exception at 0x00007FFC9DFA13F6 (UE4Editor-MonoRuntime.dll)
>> in UE4Editor.exe: 0xC0000005: Access violation reading location
>> 0xFFFFFFFFFFFFFFFF.
>>
>> Unhandled exception at 0x00007FFC9DFA13F6 (UE4Editor-MonoRuntime.dll) in
>> UE4Editor.exe: 0xC0000005: Access violation reading location
>> 0xFFFFFFFFFFFFFFFF.
>>
>>
>>
>> From: mono-ue-bounces at lists.ximian.com
>> [mailto:mono-ue-bounces at lists.ximian.com] On Behalf Of Michael Hutchinson
>> Sent: Saturday, November 1, 2014 7:00 AM
>> To: Eugene Tchoukhrov
>> Cc: mono-ue at lists.ximian.com
>> Subject: Re: [Mono-ue] MonoEditor Linker error
>>
>>
>>
>> Did you apply the engine patch set?
>>
>> On Nov 1, 2014 9:47 AM, "Eugene Tchoukhrov" <vicogamestudio at live.com>
>> wrote:
>>
>> I’m getting these linker errors:
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: class FString __cdecl
>> GameProjectUtils::FNewClassInfo::GetClassNameW(void)const "
>> (__imp_?GetClassNameW at FNewClassInfo@GameProjectUtils@@QEBA?AVFString@@XZ)
>> referenced in function "private: static bool __cdecl
>> MonoEditorUtils::GenerateClassFile(class FString const &,class
>> FString,struct GameProjectUtils::FNewClassInfo,class TArray<class
>> FString,class FDefaultAllocator> const &,class FString const &,struct
>> GameProjectUtils::FModuleContextInfo const &,class FText &)"
>> (?GenerateClassFile at MonoEditorUtils@@CA_NAEBVFString@@V2 at UFNewClassInfo@GameProjectUtils@@AEBV?$TArray at VFString@@VFDefaultAllocator@@@@0AEBUFModuleContextInfo at 4@AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: class FString __cdecl
>> GameProjectUtils::FNewClassInfo::GetCleanClassName(class FString const
>> &)const "
>> (__imp_?GetCleanClassName at FNewClassInfo@GameProjectUtils@@QEBA?AVFString@@AEBV3@@Z)
>> referenced in function "public: static bool __cdecl
>> MonoEditorUtils::AddCodeToProject(struct
>> GameProjectUtils::FModuleContextInfo const &,class FString const &,class
>> FString const &,struct GameProjectUtils::FNewClassInfo,class FString &,class
>> FText &)"
>> (?AddCodeToProject at MonoEditorUtils@@SA_NAEBUFModuleContextInfo at GameProjectUtils@@AEBVFString@@1UFNewClassInfo at 3@AEAV4 at AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: class FString __cdecl
>> GameProjectUtils::FNewClassInfo::GetFinalClassName(class FString const
>> &)const "
>> (__imp_?GetFinalClassName at FNewClassInfo@GameProjectUtils@@QEBA?AVFString@@AEBV3@@Z)
>> referenced in function "public: static bool __cdecl
>> MonoEditorUtils::AddCodeToProject(struct
>> GameProjectUtils::FModuleContextInfo const &,class FString const &,class
>> FString const &,struct GameProjectUtils::FNewClassInfo,class FString &,class
>> FText &)"
>> (?AddCodeToProject at MonoEditorUtils@@SA_NAEBUFModuleContextInfo at GameProjectUtils@@AEBVFString@@1UFNewClassInfo at 3@AEAV4 at AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: class FString __cdecl
>> GameProjectUtils::FNewClassInfo::GetHeaderTemplateFilename(void)const "
>> (__imp_?GetHeaderTemplateFilename at FNewClassInfo@GameProjectUtils@@QEBA?AVFString@@XZ)
>> referenced in function "private: static bool __cdecl
>> MonoEditorUtils::GenerateClassFile(class FString const &,class
>> FString,struct GameProjectUtils::FNewClassInfo,class TArray<class
>> FString,class FDefaultAllocator> const &,class FString const &,struct
>> GameProjectUtils::FModuleContextInfo const &,class FText &)"
>> (?GenerateClassFile at MonoEditorUtils@@CA_NAEBVFString@@V2 at UFNewClassInfo@GameProjectUtils@@AEBV?$TArray at VFString@@VFDefaultAllocator@@@@0AEBUFModuleContextInfo at 4@AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: static bool __cdecl
>> GameProjectUtils::IsValidClassNameForCreation(class FString const &,struct
>> GameProjectUtils::FModuleContextInfo const &,class FText &)"
>> (__imp_?IsValidClassNameForCreation at GameProjectUtils@@SA_NAEBVFString@@AEBUFModuleContextInfo at 1@AEAVFText@@@Z)
>> referenced in function "public: static bool __cdecl
>> MonoEditorUtils::AddCodeToProject(struct
>> GameProjectUtils::FModuleContextInfo const &,class FString const &,class
>> FString const &,struct GameProjectUtils::FNewClassInfo,class FString &,class
>> FText &)"
>> (?AddCodeToProject at MonoEditorUtils@@SA_NAEBUFModuleContextInfo at GameProjectUtils@@AEBVFString@@1UFNewClassInfo at 3@AEAV4 at AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: static class FString __cdecl
>> GameProjectUtils::MakeCopyrightLine(void)"
>> (__imp_?MakeCopyrightLine at GameProjectUtils@@SA?AVFString@@XZ) referenced in
>> function "private: static bool __cdecl
>> MonoEditorUtils::GenerateClassFile(class FString const &,class
>> FString,struct GameProjectUtils::FNewClassInfo,class TArray<class
>> FString,class FDefaultAllocator> const &,class FString const &,struct
>> GameProjectUtils::FModuleContextInfo const &,class FText &)"
>> (?GenerateClassFile at MonoEditorUtils@@CA_NAEBVFString@@V2 at UFNewClassInfo@GameProjectUtils@@AEBV?$TArray at VFString@@VFDefaultAllocator@@@@0AEBUFModuleContextInfo at 4@AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: static void __cdecl
>> GameProjectUtils::DeleteCreatedFiles(class FString const &,class
>> TArray<class FString,class FDefaultAllocator> const &)"
>> (__imp_?DeleteCreatedFiles at GameProjectUtils@@SAXAEBVFString@@AEBV?$TArray at VFString@@VFDefaultAllocator@@@@@Z)
>> referenced in function "public: static bool __cdecl
>> MonoEditorUtils::AddCodeToProject(struct
>> GameProjectUtils::FModuleContextInfo const &,class FString const &,class
>> FString const &,struct GameProjectUtils::FNewClassInfo,class FString &,class
>> FText &)"
>> (?AddCodeToProject at MonoEditorUtils@@SA_NAEBUFModuleContextInfo at GameProjectUtils@@AEBVFString@@1UFNewClassInfo at 3@AEAV4 at AEAVFText@@@Z)
>>
>> 1>Module.MonoEditor.cpp.obj : error LNK2019: unresolved external symbol
>> "__declspec(dllimport) public: static bool __cdecl
>> GameProjectUtils::WriteOutputFile(class FString const &,class FString const
>> &,class FText &)"
>> (__imp_?WriteOutputFile at GameProjectUtils@@SA_NAEBVFString@@0AEAVFText@@@Z)
>> referenced in function "private: static bool __cdecl
>> MonoEditorUtils::GenerateClassFile(class FString const &,class
>> FString,struct GameProjectUtils::FNewClassInfo,class TArray<class
>> FString,class FDefaultAllocator> const &,class FString const &,struct
>> GameProjectUtils::FModuleContextInfo const &,class FText &)"
>> (?GenerateClassFile at MonoEditorUtils@@CA_NAEBVFString@@V2 at UFNewClassInfo@GameProjectUtils@@AEBV?$TArray at VFString@@VFDefaultAllocator@@@@0AEBUFModuleContextInfo at 4@AEAVFText@@@Z)
>>
>>
>> 1>G:\UE4-WorkingCopy\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoEditor.dll
>> : fatal error LNK1120: 8 unresolved externals
>>
>>
>>
>> I have included the GameProjectGeneration module in MonoEditor.Build.cs.
>>
>>
>>
>> Any idea what’s going on?
>>
>>
>> _______________________________________________
>> Mono-ue mailing list
>> Mono-ue at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-ue



-- 
Michael Hutchinson ~ https://mhut.ch


More information about the Mono-ue mailing list