How do we force it to bind to the new libraries?
Microsoft has defined a certain number of preprocessor defines to tell the compiler/linker what version of the libraries to use. These defines are also described here http://msdn.microsoft.com/en-us/library/cc664727.aspx
These defines are:
#define _BIND_TO_CURRENT_CRT_VERSION 1
#define _BIND_TO_CURRENT_ATL_VERSION 1
#define _BIND_TO_CURRENT_MFC_VERSION 1
#define _BIND_TO_CURRENT_OPENMP_VERSION 1
The above defines allow you to tell the compiler/linker to use the latest version of the CRT, ATL, MFC and/or OpenMP libraries.
To make it a bit more easier, the following define will link to the latest version of all Visual Studio libraries:
#define _BIND_TO_CURRENT_VCLIBS_VERSION 1
Lets try this in our example project.
Go to Project > xyz Properties. In the project properties window, select Configuration Properties > C/C++ > Preprocessor and edit the “Preprocessor Definitions”. Right now it probably is something like:
WIN32;_WINDOWS;NDEBUG
Change this to:
WIN32;_WINDOWS;NDEBUG;_BIND_TO_CURRENT_VCLIBS_VERSION=1
Close the properties window and rebuild your application. After rebuilding, extract the manifest from the Visual Studio 2008 Command Prompt.
摘自:http://www.nuonsoft.com/blog/2008/10/29/binding-to-the-most-recent-visual-studio-libraries/
http://stackoverflow.com/questions/99479/visual-c-studio-application-configuration-incorrect