xamarin / urho

Code to integrate with the Urho3D engine
Other
462 stars 122 forks source link

Building Urho #295

Closed Noemata closed 6 years ago

Noemata commented 6 years ago

I tried building urho SharpReality. Using the make file approach was a bust. I'd much rather use the solution files provided.

After changing include paths for the Native/UrhoSharp.SharpReality project to: Include Paths: $(ProjectDir)....\Urho3D_UWP\Include $(ProjectDir)....\Urho3D_UWP\Include\Urho3D\ThirdParty\SDL $(ProjectDir)....\Urho3D_UWP\Include\Urho3D\ThirdParty $(ProjectDir)....\Urho3D_UWP\Include\Urho3D\ThirdParty\Bullet

I get various build errors. Things like: 1>c:\urho\bindings\portable\generated\binding.cpp(29625): error C2039: 'SetVerticalScrollBarVisible': is not a member of 'Urho3D::ScrollView'

I'm guessing I need a precursor step. Any suggestions?

Thanks!

Alan-FGR commented 6 years ago

@Noemata are you building UrhoSharp against vanilla Urho3D? Because it's only compatible with the version in the submodule (which isn't master btw).

Noemata commented 6 years ago

I got a bit further. I ignored the errors during the execution of MakeSharpReality. I then built Urhosharp.SharpReality, which did succeed. So MakeSharpReality injects files/folders into the Urhosharp.SharpReality folder that are required by the Urhosharp.SharpReality project.

Given there are no build instructions for SharpReality, it wasn't obvious to follow these steps nor that it was safe to ignore build errors.

Now I'm trying to figure out how the rest fits together. Clearly this is supposed to work, else why stuff all of this into the master build repository.

Noemata commented 6 years ago

I'm unclear how this fits together. I've built the "Urho.SharpReality" C# project which creates Urho.dll, that's the easy part. I was fooled by the this part building, the C++ side fails to build with errors such as:

1>c:\samples\urho\urho\bindings\native\asserts_32.h(81): error C2338: AnimationTriggerPoint has wrong size (32) (compiling source file ......\Bindings\Native\ApplicationProxy.cpp)

and

1>c:\samples\urho\urho\bindings\portable\generated\binding.cpp(746): error C2039: 'SetBlockEvents': is not a member of 'Urho3D::Object'

etc.

Alan-FGR commented 6 years ago

How did you compile the native Urho library? Did you use the Urho version in the submodules? (https://github.com/xamarin/Urho3D/tree/f1151cbf49c4052bf05fae1bc6204449b4565a5b)

Noemata commented 6 years ago

I tried using "MakeSharpReality.bat". It was only partially successful. @Alan-FGR, the module you link to above, is that the latest? Thanks for the hint. I'll try that now.

Alan-FGR commented 6 years ago

Yes, you have to build that Urho3D version and that commit specifically (in sdl204 branch). Note that it's not the same as vanilla Urho, it's a modified version with callback hooks and other adaptations. Only the Xamarin version will work with UrhoSharp.

Noemata commented 6 years ago

Thank you very much. Never would have figured this out without your help. Everything builds!

Noemata commented 6 years ago

Just one quick question, is this also the branch to use for UWP (not the HoloLens variant)?

Alan-FGR commented 6 years ago

You're welcome 😃! Yes, it's the same branch.