好象是指你用的静态链接库是DEBUG版本的。看看你的Release的编译设置

解决方案 »

  1.   

    看看project setting的link选项设置与debug时有何不同.
      

  2.   

    有很多不同,要改成一样的吗?那不就回到Debug方式了吗?
      

  3.   

    主要是连接的静态库是不同的一般D结尾的是DEBUG版本的
      

  4.   

    Release时将一些不必要的库给丢弃了。不用理它。这些都是编译器的优化。
      

  5.   

    Use :
    #pragma comment(linker, "OPT/NOREF")
      

  6.   

    加在include的后面,另起一行。#include
    #include#pragma comment(linker, "OPT/NOREF")
      

  7.   

    按楼上这位兄台所说的,似乎并不能解决问题。不过,经过反复试验,我发现了问题的来源!先使用Debug方式进行编译之后,再使用Release方式就会出现这种警告。如果一开始就使用Release方式进行编译,就不会出现这种问题。关于本问题的解决方法,请大家继续参加讨论!
      

  8.   

    1. 这句话可以忽略,它是告诉你,优化的时候发现你根本没有用到SHELL32.lib和comdlg32.lib,所以优化的时候把和shell32.dll和comdlg32.dll的引用关系去掉了
    2. 设置你的release连接开关:
    Project -> Settings -> Link 添加link参数:
    /ignore:4089
    注:
    如果你用了mfc,mfc会自动加入好多连接库,即.lib文件,比如:
    #pragma comment(lib, "kernel32.lib")
    #pragma comment(lib, "user32.lib")
    #pragma comment(lib, "gdi32.lib")
    #pragma comment(lib, "comdlg32.lib")
    #pragma comment(lib, "winspool.lib")
    #pragma comment(lib, "advapi32.lib")
    #pragma comment(lib, "shell32.lib")
    #pragma comment(lib, "comctl32.lib")以上全部来自afx.h