Win7下VS2010编译的程序在XP报错:找不到msvcp100d.dll或者msvcp100.dll

一、关于DLL的说明


报错为msvcp100d.dll,说明是在DEBUG下编译的程序,d表示DEBUG。报错为msvcp100.dll,说明是在RELEASE下编程的程序。


二、解决方案:

(一)方案一:(参照http://blog.csdn.net/fengkuangfj/article/details/9094177)

1、在targetver.h中添加代码,参照如下

[cpp]  view plain copy
  1. //targetver.h  
  2.   
  3. #pragma once  
  4.   
  5. // 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。  
  6.   
  7. // 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将  
  8. // WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。  
  9.   
  10. #include <WinSDKVer.h>  
  11.   
  12. #define _WIN32_WINNT _WIN32_WINNT_WINXP  
  13.   
  14. #include <SDKDDKVer.h>  


2、修改运行库(将运行库修改为“多线程(/MT)”)


(二)方案二:

1、新建C++的空项目

2、添加代码CPP文件,如example.cpp

3、在example.cpp代码文件中,添加main函数:

int main(int argc, char* argv[])
{
    //....
    return 0;
}

如果是直接将C++代码加过来的,需要将int _tmain(int argc, _TCHAR* argv[]) 修改为如上格式,同时去掉#include <stdafx.h>。


4、重新编译为RELEASE即可

你可能感兴趣的:(C++,MSVCP100.dll,msvcp100D.dll)