How to call the source code API

Everyone, I have encountered a difficulty using it
Cesium For UE,Actually, it uses cesium native
However, Cesium native has been compiled into lib
Is there a demo available, or is there a way for me to simply use the source code of Cesium native? Instead of compiled lib

How exactly do you want to use it? What are you trying to accomplish? In case it helps, the source code for cesium-native is here:

Thank you very much for your prompt answer

I already know the source code

The problem I encountered is how Cesium For UE can directly use the source code of cesium native instead of using lib

I think you must be more familiar with Cesium for UE than I am, as we can see, it is open source

The current official usage method is to first compile cesium native into static link libraries (lib), then introduce these static link libraries as plugins in UE, and finally generate the Cesium for UE plugin

however

Now I don’t want it to generate a lib library, why not use the most primitive cesium native source code directly? I don’t quite understand the reason why the official is doing this, and also, what methods do I have to achieve my goals?

Hope to receive help!

I think this approach is more conducive to the promotion of Cesium for UE in the development community and can accelerate the development progress. I think Cesium for UE should support this approach

I am willing to contribute my knowledge and experience to discuss and complete this together

I’m still not sure what you’re getting at.

Are you suggesting that the Unreal Build Tool should compile the cesium-native C++ source files? I don’t think that makes much sense, because cesium-native is used by other projects outside of Cesium for Unreal. We’d have to maintain a UBT version of the build in addition to the CMake version.

Or perhaps you want to use functionality in cesium-native from outside of the Cesium for Unreal plugin? This is generally possible just by #includeing the headers you want to use. You may see linker errors in some cases, though. These should be solvable by adding the cesium-native libraries to your module’s PublicAdditionalLibraries in its build.cs file.

Or maybe you want to have the cesium-native code present alongside the Cesium for Unreal code, so that you can step through it in the debugger, for example? Well, the Cesium for Unreal developer setup instructions are the best way to get to that point.

Or is it something else? If you want a solution, you’ll need to tell us what problem you’re trying to solve. “Use the most primitive cesium native source code directly” is a solution in search of a problem, and it’s unclear what it even means given the realities of C++ compilation.

Very excited! You already fully understand where my problem lies

More precisely, it is the second possibility

As you said, this is generally possible just by # including the heads you want to use

My question is how to directly reference the header file of the cesium native source code to build plugins now, instead of importing them through the lib library and then using them again

In fact, most of UE’s open-source plugins use the source code directly. I don’t know why Cesium needs to use an additional Third ThirdParty lib solution

My question is how to directly reference the header file of the cesium native source code to build plugins now, instead of importing them through the lib library and then using them again

You can’t. But this seems like a very small burden.

In fact, most of UE’s open-source plugins use the source code directly. I don’t know why Cesium needs to use an additional Third ThirdParty lib solution

Lots of Unreal plugins, including many that ship with the engine, use separately-built third party libs. Sometimes - but not always - these are expressed as separate “modules” in the Unreal Build Tool, so they’re a bit easier to use elsewhere.

I wouldn’t mind breaking cesium-native out into a separate CesiumNative module (alongside the existing CesiumRuntime and CesiumEditor modules). It would still be built sepately using cmake, but it would at least put all the cesium-native-releated configuration into one place. This is unlikely to be a priority for the team at Cesium anytime soon, but we’d welcome a pull request for it if you want to tackle it.

Thank you very much for your help

I think you already know what I want to do

Can I ask for further advice

Do you have any relevant tutorials or development documents regarding these aspects

I am already on my way, and I believe there will be results soon as well

No, we don’t have any documentation on this, sorry.