4
我使用的是Mac的发展与10.11.3铛++通过自制软件(llvm38) - 编译系统误差包括
由于在Xcode 7苹果LLVM仍不支持OpenMP,我已经使用自制安装更多最新LLVM /铛经由不支持OpenMP的:
$ brew tap homebrew/versions
$ brew install llvm38
然后我有一个非常简单的C++测试程序,这或多或少是一个标准的OpenMP测试,我知道应该编译:
#include <iostream>
#include <omp.h>
int main(void)
{
#pragma omp parallel for
for(unsigned v = 0; v < 15; ++v)
{
printf("thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
}
}
使用自制软件安装时,它表明您需要指定一些额外的东西才能成功编译,特别是从llvm38软件包安装的C++系统头文件的路径。这使我以下命令行:
/usr/local/opt/llvm38/bin/clang++-3.8 -fopenmp openmp.cpp -stdlib=libc++ -nostdinc++ -I /usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/ -L/usr/local/opt/llvm38/lib/llvm-3.8/lib
然而,在运行此命令,编译失败:
machine:tests me$ /usr/local/opt/llvm38/bin/clang++-3.8 openmp.cpp -stdlib=libc++ -nostdinc++ -I /usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/ -L/usr/local/opt/llvm38/lib/llvm-3.8/lib
In file included from openmp.cpp:1:
In file included from /usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/iostream:38:
In file included from /usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/ios:215:
In file included from /usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/iosfwd:90:
/usr/local/opt/llvm38/lib/llvm-3.8/include/c++/v1/wchar.h:119:15: fatal error: 'wchar.h' file not found
#include_next <wchar.h>
^
1 error generated.
有谁知道如何解决这个问题,并获得成功的编译?
你有删除“'-nostdinC++'”的同样的错误? – max66
是的,确实是同样的错误。 –
当然你需要'clang ++ - 3.8 -fopenmp ...'? –