not really. Let’s back up a step;
(when supported) there are fundamentally two “libraries” in play;
a) a DLL along with a small stub LIB. (like say CLADOS.DLL and CLADOS.LIB)
b) a bigger LIB which contains all the code (like say CLADOSL.LIB)
So, it’s not really correct to say that the “dependant dll’s get linked in”. In LIB mode they’re not used at all. It just links in CLADOSL.LIB . And CLADOSL.LIB and CLADOS.DLL are different files. LIB mode links in the former. It ignores the latter. DLL mode links in the stub (CLADOS.LIB). The linker never sees the DLL. (That’s loaded at runtime.)
Earlier I said “when supported”. This duplication, creating both a DLL and a LIB for of some code is very much optional. Most “outside clarion” DLL’s do not have a matching LIB, and so LIB mode just links in the stub LIB (or the program loads the DLL at runtime). So, for example, you can use OpenSSL DLL’s in a Lib-mode program, but you still need to ship the DLLs.
LIB mode is “harder” to make, because in LIB mode “everything is exported”. In DLL’s, the DLL has control over what is exported. The Linker never actually sees the DLL (just the stub LIB) so there’s not much room for confusion.
The problem is a LIB mode LIB, which includes “some other part” - like in this case the iqXML (allegedly) is using the DOS file driver, and so is linking CLADOSL “inside” it. This becomes a problem if you also use the CLADOSL lib because now the linker has the same thing twice, and can’t tell them apart. It means the iqXML LIB (in this example) has to be careful not to include the driver - trusting the parent app (ie your app) to supply that later. (This is somewhat harder than it looks, and you can get into trouble if versions are not kept in sync.)
Another option is for your solution to not include the DOS file driver. That’s also difficult because the drivers are added to the projects by the template so that gets complicated and is usually not a practical solution.
In short - Local (LIB) mode Exes are complicated to build. All the moving parts need to be done right, and there’s then a lot of trust (between the pieces) involved. It’s easy for things to go wrong when the app gets more complicated.
In your case it’s not like you’ll end up with one EXE anyway. StringTheory and NetTalk for example both load DLL’s at runtime (ZLIB, OpenSSL etc) regardless of whether the app is in DLL mode or LIB mode. So I’m not sure how far down the rabbit hole you want to go.