- ForeshoreTechnology
- Posts: 9
- Joined:
libnoesis.so dependencies
Please can you confirm the contents / namespaces of the libnoesis.so under
I did not expect this library to have any dependencies on GL / GLES / X but it does appear to do so. Running ldd on it.
Also please could you explain in which .so file the following is implemented from the file src\core\RenderDevice.cs . I was expecting this in Noesis.App.so but this seems to indicate it is in noesis.so
The Library.Name always just points to Noesis where I was expecting for this function it would be Noesis.App or something similar.
I apologies for all these questions about the libraries and where the functionality is, really I could just do with a an overview diagram of how the libraries (across all the different platforms) fit together.
Code: Select all
NoesisGUI-NativeSDK-linux-3.0.0\Bin\linux_arm
Also please could you explain in which .so file the following is implemented from the file src\core\RenderDevice.cs . I was expecting this in Noesis.App.so but this seems to indicate it is in noesis.so
Code: Select all
/// <summary>
/// Creates an OpenGL RenderDevice.
/// </summary>
public class RenderDeviceGL : RenderDevice
{
public RenderDeviceGL() :
base(Noesis_RenderDevice_CreateGL(), true)
{
}
#region Imports
[DllImport(Library.Name)]
static extern IntPtr Noesis_RenderDevice_CreateGL();
#endregion
}
I apologies for all these questions about the libraries and where the functionality is, really I could just do with a an overview diagram of how the libraries (across all the different platforms) fit together.
Last edited by ForeshoreTechnology on 28 May 2020, 12:02, edited 1 time in total.
Re: libnoesis.so
Managed and Native SDKs cannot be mixed. As said in another post, the managed library contains the renderers inside so that explains the dependency. We also have code managing the clipboard that using X, this is probably something we could move out of the core library. We will do that in the future.I did not expect this library to have any dependencies on GL / GLES / X but it does appear to do so. Running ldd on it.
That's done internally in C++. For now, renderers cannot be created in C#.Also please could you explain in which .so file the following is implemented from the file src\core\RenderDevice.cs . I was expecting this in Noesis.App.so but this seems to indicate it is in noesis.so
- ForeshoreTechnology
- Posts: 9
- Joined:
Re: libnoesis.so dependencies
Thanks for the reply.
With regards the GL / GLES and X dependencies I was only looking at the Native SDK. The Native C++ Noesis.so core library has dependencies on GL and also exposes functions to do with creating GL renderers. See output from nm below.
I am still confused about why the core library has these references to renderers in it as all the documentation says that this should be in the native App framework. I'm no longer doing anything with the managed libraries and just using native C++ as it seems that is what is intended for properly integrating noesis on a different platform.
With regards the GL / GLES and X dependencies I was only looking at the Native SDK. The Native C++ Noesis.so core library has dependencies on GL and also exposes functions to do with creating GL renderers. See output from nm below.
Code: Select all
nm -D libNoesis.so
00441518 T Noesis_RenderDevice_CreateGL
Re: libnoesis.so dependencies
Native library shouldn't have any reference to GL. I doubt it, but I will check it later.
Having custom implementations of renderers is something that can be done in C++, that's what you are reading in the docs. Regarding C#, it cannot be done and it is something we are debating here, because we don't know if we should expose it.
Having custom implementations of renderers is something that can be done in C++, that's what you are reading in the docs. Regarding C#, it cannot be done and it is something we are debating here, because we don't know if we should expose it.
- ForeshoreTechnology
- Posts: 9
- Joined:
Re: libnoesis.so dependencies
Hey,
Thanks for confirming my understanding of this. I have found my mistake, I double checked the libnoesis.so and found that the native lib does NOT have the references. So it is only the linux library in the managed SDK that does have these references. I guess I hadn't updated the .so properly from when I was trying to get the dotnet core app to work.
I guess you merge noesis and noesis.App in the managed linux noseis.so ? I still expected to only see core functions in the noesis.so even for the managed version but anyway this clears it up, thankyou.
My confusion was that when you referred to managed libraries I was thinking of the c# dlls but I think you mean't the noesis.so linux library in the managed SDK
Thanks for confirming my understanding of this. I have found my mistake, I double checked the libnoesis.so and found that the native lib does NOT have the references. So it is only the linux library in the managed SDK that does have these references. I guess I hadn't updated the .so properly from when I was trying to get the dotnet core app to work.
I guess you merge noesis and noesis.App in the managed linux noseis.so ? I still expected to only see core functions in the noesis.so even for the managed version but anyway this clears it up, thankyou.
My confusion was that when you referred to managed libraries I was thinking of the c# dlls but I think you mean't the noesis.so linux library in the managed SDK
Re: libnoesis.so dependencies
NoesisApp is implemented in C# (source here https://github.com/Noesis/Managed) for the Managed SDK. Yes, with the exception of renderers, that for now are embedded in C++.I guess you merge noesis and noesis.App in the managed linux noseis.so ? I still expected to only see core functions in the noesis.so even for the managed version but anyway this clears it up,
Who is online
Users browsing this forum: No registered users and 74 guests