vs重复编译

VS用了这么久都没有这样的问题,昨天突然发现在自己电脑时间不对了,就调了下,以后这问题都来了。每次运行项目都要重新编译下,不管改不改底层代码。这让我很痛苦,浪费大量时间,找了好久才得到答案:

1.时间问题

    所创建的文件的时间比如是:2011-09-22 09:03:22,那么你的系统时间之前被你改动过当前时间是:2011-08-22 09:03:22。这下好了,vs每次编译的时候都会检查每个文件的最后修改日期,发现是上一个编译时间之后的,都会重新编译。所以在这一个月内,每次都会重新编译文件。

解决办法:

a.将文件稍作修改,加个注释之类的。然后重新保存,让其和系统时间一致。这样的话,可能有大量的文件,都需要这样做。

b.最好的方法,还是直接修改系统的时间。让其正常。就能解决。
时间: 2024-11-09 03:24:09

vs重复编译的相关文章

c++工程重复编译与重复定义

#ifndef #define #endif防止的是"重复编译",而不是"重复定义"重复编译可能造成重复定义,但重复定义的来源不只有重复编译 从代码变成可执行的程序,需要两个步骤编译和链接编译开始时,将所有#include头文件的地方替换成该头文件的代码在编译阶段,编译所有源文件成为模块,各模块中的每个变量与函数都得到了属于自己的空间在链接阶段,各个模块被组合到一起 #ifndef能够防止在编译阶段,一段代码被重复编译,并且由此可以避免一个变量被重复定义但它不能防止

使用ar命令删除iOS静态库重复编译的.o文件

关于 xcode引入第三方静态类库 duplicate symbol _OBJC_XXX 重复编译错误 看这里 http://www.cnblogs.com/cocoajin/p/3917709.html 之前提到了两种方式: 一种是修改xcode编译选项:一种是在打包时去掉一方: 今天有第三种方式: 直接使用ar命令在其中一个包中删除指定的重复编译的.o文件: 如下场景演示 静态库libTaobao.a 里面编译有CEO.m 文件并且有 ceo方法 静态库libBaidu.a 里编译有CEO.

xcode引入第三方静态类库 duplicate symbol _OBJC_XXX 重复编译错误

一:场景 xcode 同时引入了 libA.a, libB.a 两个静态类库,如果 这两个静态类库之中,都打包了,相同的库,方法之类的, 且 xcode 的 other link flag 为 -all_load 时,就会出现 上述 静态类库,重复编译错误: 二:解决方法 1:把xcode 的 other link flag 里面的 -all_load 去掉:有 force-load 的也去掉: 2:第二个办法是 把 libA.a ,libB.a 里面的 冲突 内容 在任意一方的 libxx.a

VS每次都重复编译的问题

现象:没有改动代码,每次都重新编译 编译时提示" 解决Creating "...unsuccessfulbuild" because "AlwaysCreate" was specified." 原因1:时间问题,所创建的文件的时间比如是:2011-09-22 09:03:22,那么你的系统时间之前被你改动过当前时间是:2011-08-22 09:03:22.这下好了,vs每次编译的时候都会检查每个文件的最后修改日期,发现是上一个编译时间之后的,

VC编译连接选项详解(转)

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在“使用”它,而不会想去“了解”它.因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上.我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试.但是,所谓:“公欲善其事,必先利其器”.如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? VC的处理流程,大致分为两步:编译和连接.源文件通过编译生成了.obj文件:所有.obj文件和.lib文件通过连接

C++预编译头文件

以前只是学过C++中的预编译头文件,但一直没用过:既然今天又遇到了这个问题,所以还是决定写点总结 算是做个笔记吧! 在C++中之所以出现预编译的概念主要是因为在C++项目中导致整个程序的编译过程变得很缓慢的一个很重 要的原因就是C++头文件的存在,在每一个.cpp文件中都会包含许多.h的头文件,如果所包含的头文件过多或过大 就会导致.cpp文件过大而编译缓慢,但是事实上在许多.cpp中所包含的头文件都是重复出现的,即有很多头文件被 重复编译了许多次,这当然会导致项目整体的编译速度变慢. 为了解决

使用预编译头提高编译速度

什么是预编译头 在介绍预编译头之前,有必要了解一下C/C++的编译方式.C/C++的编译单元是源文件(带有.c..cc..cpp等扩展名的文件),在编译一个源文件之前,预处理器会把这个源文件中所有通过#include指令包含进来的头文件递归地展开,也就是把所有直接或间接包含的头文件原封不动地插入进来.当这个过程结束之后,才开始编译. 这种编译方式的缺点是会使头文件被重复编译.假如有一百个源文件都包含了Windows.h,那么这个头文件会在一百个源文件中展开,它里面的代码会被重复编译了一百次,尽管

预编译那些事#define后面只跟一个“参数”

一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句. 今天看到了 #define后面只跟一个“参数” 定义宏,并在预处理过程中将其替换为空字符串(即删除).这样做主要是为了标记某些内容,使程序阅读者能够清楚标记表明的意义,同时又不影响被编译的源代码.另外,通常这些标记能被条件编译的预处理命令#ifdef.#ifndef检测

Linux换源+编译内核总结

换源: 在主机能联网的情况下 进入存放源配置的文件夹 cd /etc/yum.repos.d 备份默认源 mv ./CentOS-Base.repo ./CentOS-Base.repo.bak 使用wget下载163的源 http://mirrors.163.com/.help/centos.html wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 把下载下来的文件CentOS-Base-163.repo设置为默认源 mv Cen