以前我用的都是改动哪个文件,只是编译那些改动的文件啊

解决方案 »

  1.   

    build->build all是全部编译,
    还有一个不是的.
      

  2.   

    好像不是这个问题,因为只有Rebuild All才不管三七二十一全部文件编译的,
    VC好像采用的是什么增量编译算法,减少不必要的编译时间。
      

  3.   

    我用预编译了,是不是我删错了什么文件,我把.clw,.ncb,.aps,.opt和Debug中的文件全删除过,不会是这些有影响吧
      

  4.   

    Debug中的文件全删除过?
    你每次都手动删除?
    它还不重编,那它就是神仙了
      

  5.   

    哈哈............
    怎么可能会有人没事干去删DEBUG里面的东西啊...
      

  6.   

    同意gieroland(咏咏张咏咏(抵制日货))
    删除了debug目录
    vc当然要全部重新生成了
    如果保留了
    当然可以只编译改动的,因为有可供比较的文件存在
      

  7.   

    gieroland(咏咏张咏咏(抵制日货)) :Debug中的文件全删除过?
    你每次都手动删除?
    它还不重编,那它就是神仙了
    关键是我把他们删除后又重新生成了啊,就是说我全部重新编译后,对某个文件作一个改动,VC还是把所有的文件重新编译一下。
      

  8.   

    1.可能你在工程选项中没有指明使用stdafx.h预编译头文件
    2.每次的改动都涉及到stdafx.h头文件。
    3.你删除了Debug或者Release文件夹。
      

  9.   

    codewarrior(会思考的草) :
    1.可能你在工程选项中没有指明使用stdafx.h预编译头文件
    2.每次的改动都涉及到stdafx.h头文件。
    3.你删除了Debug或者Release文件夹。1.我在工程选项中指明使用stdafx.h了,选中Use precompiled header file(.pch)选项,而且我选中了Link incrementally 选项;
    2.我不是很明白“每次的改动都涉及到stdafx.h头文件”的意思,我基本上是不对stdafx.h文件改动的;
    3.删除了DEBUG文件夹应该可以重建的啊
    现在我还发现一个不正常现象是:
    我用F7编译完程序后,按说在执行CTRL+F5命令应该马上执行程序,但现在是还得重新编译一次。
      

  10.   

    1.理论上如果你改的是头文件,所有包含该头文件的源文件都会重编,这是当然的;
    2.我也遇到过,就是明明Rebuild all了,F5调试时还说有文件要编译,这个可能就是VC的BUG了,据说是因为你的cpp文件时间晚于你的obj文件时间所致,但为什么会导致这个和理论应该恰恰相反的时间差,我不知道。
      

  11.   

    有时候系统的日期改过后,也会导致全部编译。比如说,你原来的源文件都是在2004年的,现在把系统时间改成2003年,这样每次编译产生的OBJ文件和其他文件的日期都是2003年的,总是比你的源文件旧,编译器就全部编译一次。检查一下源文件的日期和OBJ文件的日期