C++locale.h
->Semantic Issue
-->Use of undeclared identifier 'va_start'
->Semantic Issue
-->Use of undeclared identifier 'va_end'
第一次使用 boost,使用端口下载它并在 XCode 中创建了一个命令行项目。标头搜索路径:/usr/include/**
代码中还没有任何内容,只有默认 proj 附带的 main 函数。
只是不知道该怎么办,没想到会发生这种事。
编辑1:
第一次出现:
#ifndef _GLIBCXX_CSTDARG
#define _GLIBCXX_CSTDARG 1
#pragma GCC system_header
#include <bits/c++config.h>
#include <stdarg.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef va_end
#define va_end(ap) va_end (ap)
#endif
_GLIBCXX_BEGIN_NAMESPACE(std)
using ::va_list;
_GLIBCXX_END_NAMESPACE
#endif
这是一个在 \usr\include\c++\4.2.1 中没有扩展名的文件,我刚刚意识到这个文件与 boost 无关,这里发生了一些令人讨厌的事情。
EDIT2:将包含目录修复为 /opt/local/include/** 后出现新错误:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1/type_traits:214:46:
Use of undeclared identifier 'nullptr_t'; did you mean 'nullptr'?
还有其他的错误,都和sr/lib/c++/v1/文件夹下的这些文件有关,这是为什么呢?这些文件似乎是一些核心功能,它们不能被破坏。
这是错误的图片,也许你们看到了什么
EDIT3:将编译器从 Apple LLVM 更改为 GCC LLVM 将错误减少到只有一个:“vspintf 不是 'std' 的成员”在 c++locale.h 中。好吧,现在我完全迷路了。