【问题标题】:Unknown type name 'namespace' Xcode Boost未知类型名称“命名空间”Xcode Boost
【发布时间】:2012-06-04 07:00:32
【问题描述】:

我想在我的 Xcode 项目中使用 boost。(Xcode 版本 4.3.2)

我已经从 MacPorts 构建了 boost,并设置了环境变量。

但是当我构建prj时,出现了错误:

未知类型名称“命名空间”

以及下面的错误代码:

// This file is automatically generated. Do not edit.
// ['../../libs/compatibility/generate_cpp_c_headers.py']
// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST')

#ifndef __CSTDDEF_HEADER
#define __CSTDDEF_HEADER

#include <stddef.h>

namespace std {
  using ::ptrdiff_t;
  using ::size_t;
}

#endif // CSTDDEF_HEADER

【问题讨论】:

  • 预处理您的翻译单元,看看那里发生了什么。我猜你有一个宏会弄乱一些代码。
  • ...另一个猜测:也许你在一些类/结构定义之后忘记了一个分号。无论如何,你应该看看预处理的TU。

标签: xcode boost


【解决方案1】:

自动生成的代码是 C++,而不是 Objective-C。 Objective-C 编译器拒绝无效的关键字“命名空间”。

要使其正常工作,请按如下方式更改您的项目设置: - 转到您的项目设置并选择目标 - 选择 Build Settings -> Apple LLVM compiler X.X - Language -> Compile Sources As 并将其设置为 Objective-C++,允许混合使用 Objective-C 和 C++。

【讨论】:

    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多