For those of you building apps for Windows and Linux, you’ll notice that each build includes a Libs folder. The name of this folder depends on the application name that you’ve set in your Build Settings. For example, if my Windows App Name is “My Application.exe” then the Libs folder would be named “My Application Libs”.
What’s the significance of this folder?
This folder contains the Xojo framework along with its dependencies. Depending on your project and what controls and plug-ins you use, this directory could be full of DLLs on Windows (or .so files for Linux). Since our framework on Windows is built with VS2013, you’ll see the run-time components included in this folder, namely msvcp120.dll, and msvcr120.dll. Microsoft recommends that when you distribute your build that you create an installer which installs these redistributable run-time components, which means they’d be installed on the user’s system directory. When you do this, you can remove these two DLLs from your Libs folder. Here’s a link to these runtime components: http://www.microsoft.com/en-us/download/details.aspx?id=40784
A common Libs folder
Multiple apps could use the same Libs folder. For example, let’s say you were building several command line apps, which we’ll conveniently name App1, App2 and App3. When you build each one, they’d also build with an “App1 Libs”, “App2 Libs”, and “App3 Libs” folder respectively. If these executables were to be distributed as one package, you could simply combine them into one Libs folder, aptly named “Libs”. In other words, just copy all the necessary DLLs (or .so files for Linux) and dependencies from each “AppX Libs” folder to a common “Libs” folder.
Declares and Libs folder
When you declare against a 3rd party shared library in your Xojo code, you can put that shared library (i.e. DLL on Windows, or .so file on Linux) into yours Libs folder. In this case your Declare would not need to contain the path to the shared library.
Have questions about the Libs folder or building for Windows? Ask me here or on Twitter @xojo! And check out this post about creating installers for your Windows apps.