2012-08-31 58 views
0

升级到XCode 4.4.1并重新启动我的机器,重新编译,现在得到下面的错误,当我尝试编译 - 任何建议? (它用来编译罚款) (运行在Lion上10.7.4,XCode的版本4.4.1)XCode升级到4.4.1,现在我收到编译错误的错误<vector>

#ifndef MYFILE_H 
#define MYFILE_H 

#include <vector> <-- this line 
#include <typeinfo> 
#include <string> 
#include "assert.h" 

using namespace std; 

错误消息

In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/usr/include/c++/4.2.1/vector:69: 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/usr/include/c++/4.2.1/bits/stl_vector.h:69:1: error: expected member name or ';' after declaration specifiers 
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) 
+0

您的文件是.h文件? Xcode可能会尝试将它编译为C而不是C++ – Geoffroy

+0

我不这么认为 - 它包含在一个.cpp文件中 – daven11

+1

您确定它是唯一的包含/导入吗?这是我目前看到的唯一原因:/ – Geoffroy

回答

1

如果这个问题仍然是实际的,我建议你应该检查以下项目设置行:

  • C++语言方言(雷:编译器默认)
  • C++标准库(矿:编译器默认)
  • 编译器C/C++/Objective-C的(雷:苹果LLVM编译器4.1)

不是所有的组合工作,而不是总是 “编译器的默认” 为默认值。我也有一些问题。

(从错误消息,它看起来对我像你正在使用的不是的libC++而不是gcc编译左右。我有更新后,类似的问题的libstdC++)。

+0

谢谢我前一阵子修好了 – daven11