目前有三种解决方法。
1, 在程序cpp文件里加上下面句子:
#ifdef _DEBUG
#define __LIBRARIES_SUB_VERSION Debug
#else
#define __LIBRARIES_SUB_VERSION
#endif
// Manifest for the CRT
#pragma comment(linker,/manifestdependency:\type= win32 \
name= __LIBRARIES_ASSEMBLY_NAME_PREFIX .
__LIBRARIES_SUB_VERSION CRT \
version= _CRT_ASSEMBLY_VERSION \
processorArchitecture= x86 \)
// Manifest for the MFC
#pragma comment(linker,/manifestdependency:\type= win32 \
name= __LIBRARIES_ASSEMBLY_NAME_PREFIX .
__LIBRARIES_SUB_VERSION MFC \
version= _CRT_ASSEMBLY_VERSION \
processorArchitecture= x86 \)
#pragma comment(linker,/manifestdependency:\type= win32 \
name= __LIBRARIES_ASSEMBLY_NAME_PREFIX .MFCLOC \
version= _CRT_ASSEMBLY_VERSION \
processorArchitecture= x86 \)
可参考:
http://www.codeproject.com/cpp/PrivateAssemblyProjects.asp?msg=2122107
2, 在程序cpp文件里加上下面句子:
#pragma comment(linker, \/manifestdependency:type= Win32 name= Microsoft.VC80.CRT version= 8.0.50608.0 processorArchitecture= X86 publicKeyToken= 1fc8b3b9a1e18e3b language= * \)
可参考:
http://jewelry-wolf.spaces.live.com/blog/cns!9041D1290EF347B0!591.entry
3, 在项目属性 C/C++ 的Command Line 里加上
/D _VC80_UPGRADE=0x0710
可以解决debug版本程序运行不了的问题。
这是作者本人发现的法子,很实用。原理未明。