I have removed the inline from all VecMath::create functions and it builds and runs. What exactly are the specifications for running inline functions ?
Should be run only within Engine ?
Should it have a specific compiler version ?
I have ue4.26.2, Rider 2021.2, Visual Studio 2019 (I tried it also and didn’t recognize inline functions)
Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30136 for x64
Ah yes I think you found the problem. Those inline methods are declared incorrectly, so they’ll basically be inaccessible outside the compilation unit (CPP file). Unreal often compiles a bunch of CPP files together, though, which is probably why we haven’t seen this until now.
Good detective work! We’d really appreciate a pull request with your changes if you’re up for it.
Kevin
I have tried to work through repos for making a pull to you but I was lost. Working with CesiumForUnreal package was very straightforward.
I have tried to compile the dev code of Cesium-unreal directly from .git in Github (I have also forked it using PrismArch account) but it needs also the Cesium-native code which is another repository that should be inside Cesium-unreal which should be compiled a priori with cmake. Do you consider put Cesium-Native as another plugin ? It would be much easier to work. Cesium-Native has also its own submodules and I noticed that if I update it also the subsubmodules are updated. Scary.
Moreover my whole Project is also in a repository in Gitlab, and all the plugins I have should be as submodules in Gitlab. So I should first organize how should I work. The good thing is that i didn’t touch Cesium-Native
- Project → PrismArch Gitlab
- Plugins\Cesium-unreal → Submodule in PrismArch Gitlab and PrismArch Github
- Plugins\Cesium-unreal\Source\Cesium-native → PrismArch Gitlab
I should ask perhaps to move everything in Github first. However, many plugins are paid so it they should be private.
My edits are very small. They regard 1.7.0 package version of Github.
Only the header inclusions below:
and of course the most difficult to find: delete all “inline” from VecMath.cpp functions declarations
Yeah it’s a bit tricky to set up a development environment the first time. I suggest starting with the Cesium for Unreal Samples project and following the setup instructions from here:
Hopefully this will be much simpler than trying to use your own project on GitLab.
I appreciate you providing the diffs, that’s very helpful. I understand if you don’t want to go through all the setup right now and we can incorporate those changes ourselves. But I’m also happy to help if you want to keep working on getting the dev environment set up.
Kevin
Thanks I will have it in mind !