环境: XP SP3, vs2010。
创建多文档工程时选择的是:动态链接库;现在通过工程属性改为 静态链接库,rebuild报错。
如下,C1189 Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]请问是否还有其他地方没有设置阿,导致了更改不成功。还是只能在最初创建的地方选择链接库方式。谢谢!

解决方案 »

  1.   

    C1189 Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]这个是说MD开关也就是(CRT 版本的dll需要MFC共享版本的dll)
    所以它建议你用宏:#define _AFXDLL   或者去掉编译开关 /MD
      

  2.   

    /MD MSVCRT.LIB // C/C++ Runtime动态库 MSVCRT40.DLL 
    /MDd MSVCRTD.LIB // MSVCRT.LIB的调试库
    /ML LIBC.LIB // C Runtime静态库 单线程版
    /MLd LIBCD.LIB // MLIBC.LIB的调试库 
    /MT LIBCMT.LIB // C Runtime静态库 多线程版 
    /MTd LIBCMTD. // LIB LIBCMT.LIB的调试库改成/MT  或/MTd 试试注意一下静态的库中的内存申请,必须遵守谁申请谁释放,有些释放内存的小BUG在动态库可能不会出错,静态库一定会报错的
      

  3.   

    在工程属性页面中有 选择。但本人经历 从 VC2010 之前版本升级工程都有类似问题,
    为避免潜在的风险,建议重建 project,从老项目中移植代码。