今天改出了程序的一个奇怪的bug.
debug版正常,release版出现鼠标放到分割view窗口边框时显示不出鼠标箭头的问题。
郁闷了很久了。
今天下决心解决。但是也想不出哪里的问题。就用最笨的办法。找了个文件比较工具。
把出问题的最后一次的版本跟前一个比较,挨个文件排除。
最后终于找到了是 .dsp文件有问题。正常版本的.dsp文件
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c异常版本的.dsp文件
# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Yu"stdafx.h" /FD /c
把/MD 改回  /MT /D "_AFXDLL"就好了。(好像记起了有一次乱改了编译选项:<)
虽然找出了问题。但不明白原因。请教!

解决方案 »

  1.   

    /MD  与 MSVCRT.LIB 链接  link with MSVCRT.LIB 
    /MT  与 LIBCMT.LIB 链接  link with LIBCMT.LIB
      

  2.   

    MT 对应Project->Settions->C/C++->Code Generation->Multithreaded 选项
    MD对应Multithreaded DLL选项
      

  3.   

    那为什么只在release版才出现奇怪的问题?
      

  4.   

    Multithreaded 
    Multithreaded DLL呵呵,猜测,程序里肯定链接到什么特别点的库吧(不常用的)
      

  5.   

    MD link with MSVCRT.LIB                 /MDd link with MSVCRTD.LIB debug lib
    /ML link with LIBC.LIB                   /MLd link with LIBCD.LIB debug lib
    /MT link with LIBCMT.LIB                 /MTd link with LIBCMTD.LIB debug lib