C++ 为什么英特尔编译器会错过Xcode 5中的头文件更改?

C++ 为什么英特尔编译器会错过Xcode 5中的头文件更改?,c++,xcode,compiler-construction,dependencies,xcode5,C++,Xcode,Compiler Construction,Dependencies,Xcode5,我正在使用运行在OSX10.9.1上的C++编译器XE14.0更新1和Xcode 5.0.2的组合,并且发现了编译问题(在类似设置中,我的其他两位同事也可以重复) 问题如下:项目中头文件的任何更改都没有按照预期的依赖关系进行处理,相应编译单元的重新编译和产品的重新链接都没有执行 必须指出的是,使用苹果的LLVM编译器不会表现出这种行为 要想把事情做好(都是不切实际的),解决办法是: 清理项目,重建一切 ​关闭Xcode项目并重新打开它并生成 重新启动Xcode并构建 可以创建一个非常简单的X

我正在使用运行在
OSX10.9.1
上的
C++编译器XE14.0更新1
Xcode 5.0.2
的组合,并且发现了编译问题(在类似设置中,我的其他两位同事也可以重复)

问题如下:项目中头文件的任何更改都没有按照预期的依赖关系进行处理,相应编译单元的重新编译和产品的重新链接都没有执行

必须指出的是,使用苹果的LLVM编译器不会表现出这种行为

要想把事情做好(都是不切实际的),解决办法是:

  • 清理项目,重建一切
  • ​关闭Xcode项目并重新打开它并生成
  • 重新启动Xcode并构建
可以创建一个非常简单的Xcode项目来演示这个问题

  • 创建一个新的Xcode,空白
  • < LI>创建C++库目标-动态.< /LI>
  • 添加两个文件,例如
    foo.cpp
    foo.h
    文件
  • 将编译器设置为英特尔的C++ XE 14
  • 建造-一切都很好
  • 重新构建-无需额外工作,一切正常
  • 修改foo.h文件
  • 生成-无法正确重建
  • 可以在此处找到指向示例Xcode项目的链接:


    生成后,对
    *.h
    文件的任何更改都不会导致重新编译和重新链接生成的
    *.dylib

    英特尔已响应这不是英特尔编译器的问题,而是Xcode的问题。它将在即将发布的Xcode中修复。