I've done quite a bit of experimentation on this as well as searching. The StackOverflow response at How to add Poco library in Visual Studio 2010? one is close but does not quite solve my problem.
Specifically, I am trying to build an application that will not depend on the Poco DLLs to run. The application runs fine when the DLLs are present.
In Poco's lib directory, libraries are provided for many versions of what is essentially the same library, for example, CppUnit.lib, CppUnitd.lib, CppUnitmd.lib, CppUnitmdd.lib, CppUnitmt.lib, and CppUnitmtd.lib.
It is my understanding that the "...mt" versions of the lib files allow the app to be build monolithically, without requiring the Poco DLLs to be present at runtime. (Is this correct?)
I am using MS Visual Studio 2010, and trying to encourage the linker to use the "...mt" version of each of the Poco libraries (...mtd version for the debug build.)
All of the Poco libraries are in the same directory. I have added that directory path to Preferences>Project>Linker>General>Additional Library Directories, and I have explicitly added CppUnitmt.lib;PocoFoundationmt.lib;PocoNetmt.lib to Preferences>Project>Linker>Input>Additional Dependencies.
The link seems to go without a hitch; the build is successful. Yet when I run my app I get an alert saying: "The app can't start because PocoFoundation.dll is missing from your computer. Try reinstalling the program to fix this problem."
To summarize, my question is: Can a Poco app be build that will not require access to the Poco DLLs, and if so, how do I tell the VS 2010 Linker to do it that way?