2016-05-19 32 views
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. 

有誰知道如何解決這個問題,並獲得成功的編譯?

+0

你有刪除「'-nostdinC++'」的同樣的錯誤? – max66

+0

是的,確實是同樣的錯誤。 –

+0

當然你需要'clang ++ - 3.8 -fopenmp ...'? –

回答

4

根據對原始問題的評論,重新安裝/更新Xcode開發人員工具解決了該問題。

xcode-select --install