请教程序如何去掉对msvcr71d.dll和msvcp71d.dll的依赖,即用户机器上无需发布msvcr71d.dll和msvcp71d.dll,程序也要能正常运行?
  我的运行时库无论设置的多线程调试(/MTd)和多线程调试DLL(/MDd),程序运行都会报找不到msvcr71d.dll和msvcp71d.dll,
  我的程序里面没有用到mfc和atl的东西,
  mfc的使用栏目填写的使用标准 Windows 库,
  atl的使用填写的不使用 ATL

解决方案 »

  1.   

    msvcr71d.dll  msvcp71d.dll
    这两个是Debug版,Release版不会用到。
    ------------------------
    1. 编译时连接静态库

    2. 把动态库一起打包
      

  2.   

    你这是Debug版的设置
    同样方法设置一下Release版是否使用了第三方库?Release版才是给用户用的发行版本啊
      

  3.   

    msvcr71.dll与mfc和atl无关,它是c runtime library。你的程序里要不用c 与c++的库函数,包括,不能用main(msvcr71.dll会用到这个函数)
      

  4.   

    debug需要msvcr71d.dll和msvcp71d.dll
    release同样就需要msvcr71.dll和msvcp71.dll
    1. 编译时连接静态库 (我已经是静态链接)
    2. 把动态库一起打包 (我现在就是不想把动态库打包)
    我看到许多vc写的程序没有带msvcr71d.dll和msvcp71d.dll, 别人是怎么做到的呢?
      

  5.   

    调试多线程(/MTd)用的 libcmtd.lib
    使用 DLL 的调试多线程(/MDd)用的才是 msvcrtd.lib
    问题是我设置成(/MTd)一样还是报需要msvcr71d.dll
      

  6.   

    如果你的程序没有用其他的dll的话,应该不存在你说的的问题可以用depends看看,需要哪些库是不是其中用的别的库需要msvcr71d.dll
      

  7.   

    知道了, 如Conry所说, 是其他的lib用到了多线程调试DLL(/MDd)导致的, 散分.