Is there a list of platform native libraries that are already available in Kotlin? - kotlin

The following documentation states that there are many native libraries already wrapped up for Kotlin usage.
There are many more platform libraries available for host and cross-compilation targets. Kotlin/Native distribution provides access to OpenGL, zlib and other popular native libraries on applicable platforms. - https://kotlinlang.org/docs/native-platform-libs.html#popular-native-libraries
Question comes up: is there a list of native libraries that are available for this usage?
And if not how to check if a library already has such a wrapper?

Related

.dll Equivalent on Mac OS X [duplicate]

This question already has answers here:
How do third-party libraries work in Objective-C and Xcode?
(4 answers)
Closed 9 years ago.
I am from a Windows background and I am used to creating SDKs by creating (.dll)s and then distributing all the libraries and Documentation.
So, if a user wants to use it, he adds a reference to the library and uses it. However, in a Mac, I am working on a SDK and I want a way of creating and distributing Mac libraries.
(I want to create the library in Objective-C)
Please help me :)
If you're creating a Mac library, you have either the option of creating a dylib, which includes only the compiled binary for the library, or creating a framework, which includes the compiled binary as well as headers and other bundle resources used by the library, in a single package. Frameworks are the preferred method of library distribution for the Mac.
If you're creating an iOS library, iOS doesn't support dynamic libraries of any kind (no dylibs or frameworks) so you're stuck with creating static libraries to distribute your code.
Both Mac and iOS have Dynamicly Linked Libraries. They just are not called that. They are generally just referred to as Shared Libraries and they typically are wrapped in Frameworks.
Unfortunately, iOS limits the use of Shared Libraries to System Libraries and does not allow installing shared libraries on non-jailbroken devices.
Both platforms also support Static Libraries.

Loading arm-shared-libs in Marmalade SDK

Marmalade SDK supports making projects to generate arm-shared-libs. It also supports loading "libraries" via its s3eLibraryOpen(). However these seem to only be able to open x86 PE images that can also be generated with Marmalade SDK, but obviously as soon as I get a symbol and try calling the function it will crash since it's x86 and the calling process is ARM.
So just to re-iterate, the question is: Is there any support in Marmalade SDK for dynamically loading arm shared libraries at runtime?
s3eLibraryOpen will allow you to load dynamic libraries on platforms that support it as as well as the dynamic library built for that platform Android (.so),Windows(.dll) , IOS does not support it.

Loading SystemC modules dynamically at run-time

In my simulator framework, the HW/SW modules are implemented in SystemC and pre-built. The platform to be simulated is described in XML. The simulator core parses the XML, determines the modules used and corresponding libraries files (e.g. dlls in Windows), and loads these modules dynamically at run-time. But I found no sample code of SystemC loading modules dynamically.
How can I do this in SystemC?
Because you said the example in DLLs of Windows, I assume you are doing so in Windows platform. So I suggest you can read the article and example in MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/ms686944(v=vs.85).aspx .
If you are using unix platform, you could use dlopen and dlsym to load the corresponding shared libraries and retrieve the function address to be called from your main program.

How to ignore some static library at compile time

I am trying to figure out if there is a way to ignore a static library at compile time if the project already exists with similar library?
I am creating a framework in which I require to have the static library to utilize the scanning mechanism. However, the project I am trying to utilize this project also have such library, hence I am curious if there is any mechanism to ignore such library at compile time? Doesn't matter either from the framework or project.
Thanks.
I once had a similar case, where a library I wrote required some common open source components, which were used by many developers.
The best solution we found was to not link those components into our library, provide a list of these components, and to require the user of our library to include those components.

Maemo / Symbian and external libraries

How can I know, whether an external library can be compiled to work on a different platform? the library for instance is tesseract-ocr
And if it possible, how do I do this?? (Basically I would like to create a Qt application that uses this library)
To find out, try building the library yourself. At the moment your question is quite broad. Post new questions when you have something more specific to ask.
If building the library fails, it is most probably due to some unsupported dependencies that you need to port first yourself.
Porting to Maemo is probably straightforward as it is a Debian-based environment and supports all the build tools such as autotools.
Symbian doesn't have autotools. Perhaps the fastest way to get started there is to first configure and build the library on e.g. cygwin and then generate the required bld.inf and .mmp files to build it on Symbian.
You can link your Qt application to regular C/C++ libraries. Just include the necessary header files in your code and link to the library using LIBS += -lfoo in your .pro file.