找不到clang+++OpenMP+stdlibc++的Includes

Includes not found for clang++ + OpenMP + stdlibc++

本文关键字:Includes clang+++OpenMP+stdlibc++ 找不到      更新时间:2023-10-16

我在这里完成了关于如何使用OpenMP支持Mac OS X编译clang(++)的精彩演练。然而,在编译一个简单的测试程序时:

#include <iostream>
int main(int argc, char** argv)
{
    std::cout << "Hello world!" << std::endl;
    return 0;
}

我只是得到:

$> clang2++ -Wall -std=c++11 -stdlib=libc++ -fopenmp -o openmp openmp.cpp 
openmp.cpp:2:10: fatal error: 'iostream' file not found
#include <iostream>

我新编译的clang项目似乎不包括libc++,即使包括标准目录("标准"afaik),即:

/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)

它仍然不起作用。其他人遇到过这种情况并找到了解决方案吗?谢谢

通过在Clang/OpenMP构建过程中添加一个缺失的步骤,我成功地编译了clib++。

在Clang/OpenMP页面上(http://clang-omp.github.io/)它要求您下载以下内容:-

$ git clone https://github.com/clang-omp/llvm
$ git clone https://github.com/clang-omp/compiler-rt llvm/projects/compiler-rt
$ git clone -b clang-omp https://github.com/clang-omp/clang llvm/tools/clang

如果您想包含c++11支持,还应该下载:-$git克隆https://github.com/llvm-mirror/libcxxllvm/projects/libcxx

其中一个构建参数是LLVM_EXTERNAL_LIBCX_SOURCE_DIR(在CMakeCache.txt中定义),它期望LIBCXX位于此位置。

*注意。我不得不对Kyle Halladays OSX Mavericks指令中提到的构建指令进行轻微修改,替换为:../configure--启用优化具有../configure--启用优化的CC=/usr/bin/crang CXX=/usr/bin-crang++

好的,您可以包括包含iostream的目录clang2++-std=c++11-stdlb=libc++-fopenmp-o openmp openmp.cpp-I/usr/include

如果/usr/include包含iostream文件