On 18.7.2020 v 23:51 Dmitri Korin wrote:
(it feels like you're more knowledgeable than all the high rankers on Stackoverflow with C++!)
Hi, I'm not that knowledgeable, some parts are related on my experience, some are guesses.
Does the podofo library (in my case static) not include the libraries like freetype within itself?
I'd say it depends not only whether PoDoFo itself is statically linked, but also whether its dependencies are static libraries. If so, then everything is bundled in the resulting binary. If not, then you need also the other libraries. This looks like your freetype is not a static library, but a dynamic library. You can see the difference in the resulting lib size, static libraries are much larger than those dynamic. Being on a Linux-like system, you can use a tool 'ldd' to see what the library/executable requires. Just run `ldd libpodogo.lib` and you'll see its runtime dependencies. Whether you can use static linking of the dependencies (and PoDoFo itself) depends on the license you choose for your project. There are some limitations for static linking, like your project should be Open Source and some other details I do not recall precisely. You should search for it, either in the license(s) of the respective projects or on the Internet.
In other words are the symbols not defined with podofo.lib and I should always directly link the various libraries my version of podofo.lib rely's on?
I hope it's answered from the above. Trying to rephrase: static library can avoid dynamic libraries (extra files for distribution) for that specific library, it doesn't tell anything about the dependencies of that library. Thus, if you want a pure static linking, then all the dependencies the PoDoFo links to should be also static libraries. Bye, zyx _______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users