The static library defaults to a dynamic runtime, so your code is dependent on msvcr80.dll. Visual C ++ programs must reference the runtime. You can modify the static library to use static runtime to remove the dependency. This is done in the configuration properties | C / C ++ | Code Creation | Setting up the runtime library. However, the selected runtime library should match what is used in the project that links your static library.
Your code probably depends on mfc80.dll because you have configuration properties | General | Using MFC for one of the MFC options.
In my opinion, Visual C ++ (and Windows in general) was created for dynamic libraries and dynamic runtimes. Static libraries seem more like hacking because they have an amazing amount of restrictions, traps, and peculiar behavior. Better to become familiar with the creation and consumption of dynamic libraries - better in the long run.
source share