2016-05-19 8 views
4

ich für die Entwicklung mit einem Mac mit 10.11.3Klirren ++ über Homebrew (llvm38) - kompilieren Fehler mit System enthält

Aufgrund von Apple llvm in Xcode 7 noch nicht openmp Unterstützung, ich habe Homebrew verwendet ein installieren mehr auf dem neuesten Stand llvm/Klirren, die Unterstützung openmp tut über:

$ brew tap homebrew/versions 
$ brew install llvm38 

ich ein sehr einfaches C++ Testprogramm dann habe, die mehr oder weniger ein Standard openmp Test ist und was ich weiß, kompilieren sollte:

#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()); 
    } 
} 

Das Installieren mit Homebrew schlägt vor, dass Sie einige zusätzliche Dinge angeben müssen, um den Pfad zu den C++ - Systemheadern, die aus dem Paket llvm38 installiert wurden, erfolgreich zu kompilieren. Dies führt mich zu der folgenden Befehlszeile:

/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 

jedoch auf diesen Befehl ausführen, die Kompilierung fehlschlägt:

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. 

Weiß jemand, wie dieses Problem zu lösen und eine erfolgreiche Kompilierung bekommen?

+0

Sie haben den gleichen Fehler beim Entfernen der "' -nostdinC++ '"? – max66

+0

ja, in der Tat, der gleiche Fehler. –

+0

Sicher brauchst du 'clang ++ - 3.8 -fopenmp ...'? –

Antwort

4

Laut dem Kommentar zur ursprünglichen Frage wurde das Problem durch die Neuinstallation/Aktualisierung von Xcode-Entwicklertools behoben.

xcode-select --install