首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“initializer_list”文件未找到

“initializer_list”文件未找到
EN

Stack Overflow用户
提问于 2016-11-03 19:11:13
回答 1查看 1.4K关注 0票数 2

上下文:

代码语言:javascript
复制
you@laptop:~$ clang --version
Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)

每当我尝试make一个需要c++11支持的脚本时,我都会得到以下输出:

致命错误:“initializer_list”文件未找到

我尝试过将-stdlib=libc++-std=c++11添加到CXXFLAGS中,但没有成功。

如何修复'initializer_list'错误?

我反复检查了做find /usr/include -name initializer_list的操作,结果返回:

/usr/include/c++/4.9/初始化器_list /usr/include/c++/5/初始化器_list

编辑:这是Makefile

EN

回答 1

Stack Overflow用户

发布于 2016-11-03 20:45:17

可以运行以下命令查看包含文件的搜索路径:

代码语言:javascript
复制
# clang++ -E -x c++ - -v < /dev/null

对于Docker映像,我使用的输出如下:

代码语言:javascript
复制
clang version 3.5.1 
Target: x86_64-unknown-linux-gnu
Thread model: posix
 "/opt/llvm/bin/clang-3.5" -cc1 -triple x86_64-unknown-linux-gnu -E -disable-free -disable-llvm-verifier -main-file-name - -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -v -dwarf-column-info -resource-dir /opt/llvm/bin/../lib/clang/3.5.1 -internal-isystem /opt/llvm/bin/../include -internal-isystem /usr/local/include -internal-isystem /opt/llvm/bin/../lib/clang/3.5.1/include -internal-externc-isystem /opt/llvm/include/c++/v1 -internal-externc-isystem /usr/include -internal-externc-isystem /usr/include/ -internal-externc-isystem /usr/include/x86_64-linux-gnu/ -fdeprecated-macro -fdebug-compilation-dir / -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o - -x c++ -
clang -cc1 version 3.5.1 based upon LLVM 3.5.1svn default target x86_64-unknown-linux-gnu
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/llvm/bin/../include
 /usr/local/include
 /opt/llvm/bin/../lib/clang/3.5.1/include
 /opt/llvm/include/c++/v1
 /usr/include
 /usr/include/x86_64-linux-gnu
End of search list.
# 1 "<stdin>"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 318 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "<stdin>" 2

编译器抱怨它无法在用于initializer_list搜索的路径列表中找到<...>。我在这个目录中找到了它:

代码语言:javascript
复制
# find /opt/llvm/include/c++/v1 -name initializer_list
/opt/llvm/include/c++/v1/initializer_list

我建议检查您的LLVM安装对于上面所示的默认搜索路径设置是否正确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40409482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档