I have the following problem to deal with:

* There is an external component compiled into a .lib file for static linkage
* The external component requires a specific function/operator interface to be available (i.e., the function must be present in another compilation unit)
* I do not want this function to be accessible by code that isn't in the external component
* I do not have any control of this specific function interface (or access to any portion of the external component source code), it's a given function in a global scope

Is there any way to achieve this?
If it matters, the compiler is `VC++ 2012`.

**Edit**:

* The output binary shall be single, so DLLs and similar won't do.
* Is it possible to limit symbol visibility to among .obj files in a single .lib but not to other .libs? If it's possible, I'd compile the function into a .lib and repackage it with the external .lib.