Visual Studio has a C ++ link called "Link Library Dependencies": http://msdn.microsoft.com/en-us/library/024awkd1(v=vs.90).aspx
This will link the object files with all the projects in the solution directly to the project exit (via dependency tracking). Be careful if you use this, but if you use it in the EXE and DLLs that you associate with exporting characters, the EXE also exports them.
Update:
Here, in more detail: what happens is that instead of linking the DLLs (it is assumed that you have DLLs that you want to link as dependencies of your project in the solution) to create separate binary files, the linker takes the output from each individual project dependencies and directly links them to the final executable / DLL, thereby creating a monolithic DLL.
A side effect is that (depending on the code) the overall size of the output decreases slightly, the monolithic DLL (or EXE) can be large in general, but smaller in size than the individual output files combined due to link optimization. Any characters exported by related objects will be exported by the final DLL, since they are marked as such at the compilation stage.
source share