title: "'omp.h' file not found" when compiling using Clang
body: <p>I'm trying to set up an OpenMP project using Clang (3.7.0) on my laptop running <a href="https://en.wikipedia.org/wiki/Linux_Mint" rel="nofollow noreferrer">Linux Mint</a>.</p>
  <p>Now I've read that OpenMP is not supported right away so I followed the tutorial <a href="https://clang-omp.github.io/" rel="nofollow noreferrer">https://clang-omp.github.io/</a> to integrate OpenMP into Clang.</p>
  <p>I've cloned the source code, set the environment variables and set the <em>-fopenmp</em> flag to my project, but I still get the error:</p>
  <blockquote>
  <p>fatal error: 'omp.h' file not found</p>
  </blockquote>
  <p>when building.</p>
  <p>My guess is that I have set the environment variables wrong. Is there a way to check if I have put them in the right place? I have just copied them in the <a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)#Legacy-compatible_Bash_startup_example" rel="nofollow noreferrer">.bashrc</a> file.</p>
  <p>When I run <code>locate omp.h</code> I get:</p>
  <pre class="lang-none prettyprint-override"><code>/usr/include/re_comp.h
  /usr/include/linux/ppp-comp.h
  /usr/include/linux/seccomp.h
  /usr/include/net/ppp-comp.h
  /usr/include/openssl/comp.h
  /usr/lib/gcc/x86_64-linux-gnu/4.8/include/omp.h
  /usr/lib/perl/5.18.2/CORE/regcomp.h
  /usr/src/linux-headers-3.13.0-24/arch/arm/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/microblaze/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/mips/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/powerpc/include/uapi/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/s390/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/sh/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/sparc/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/arch/x86/include/asm/seccomp.h
  /usr/src/linux-headers-3.13.0-24/include/linux/ppp-comp.h
  /usr/src/linux-headers-3.13.0-24/include/linux/seccomp.h
  /usr/src/linux-headers-3.13.0-24/include/net/ipcomp.h
  /usr/src/linux-headers-3.13.0-24/include/uapi/linux/ppp-comp.h
  /usr/src/linux-headers-3.13.0-24/include/uapi/linux/seccomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/seccomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/crypto/pcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/inet/ipcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/inet6/ipcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/isdn/ppp/bsdcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/ppp/bsdcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/config/xfrm/ipcomp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/linux/ppp-comp.h
  /usr/src/linux-headers-3.13.0-24-generic/include/linux/seccomp.h
  </code></pre>
  <p>Here is my makefile:</p>
  <pre class="lang-none prettyprint-override"><code># Requires the following project directory structure:
  #  /bin
  #  /obj
  #  /src
  
  # Use 'make remove' to clean up the whole project
  
  # Name of target file
  TARGET     = main
  
  CXX        = clang++
  CFLAGS     = -std=c++11 \
               -Weverything -Wall -Wextra -Wold-style-cast -Wpointer-arith -Wcast-qual \
               -Wno-missing-braces -Wempty-body -Wno-error=uninitialized \
               -Wno-error=deprecated-declarations -Wno-c++98-compat \
               -pedantic-errors -pedantic \
               -Os -fopenmp
  
  LINKER     = clang++ -o
  LFLAGS     = -Wall -Weverything -pedantic
  
  SRCDIR     = src
  OBJDIR     = obj
  BINDIR     = bin
  
  SOURCES   := $(wildcard $(SRCDIR)/*.cpp)
  INCLUDES  := $(wildcard $(SRCDIR)/*.h)
  OBJECTS   := $(SOURCES:$(SRCDIR)/%.cpp=$(OBJDIR)/%.o)
  
  RM         = rm -f
  
  $(BINDIR)/$(TARGET): $(OBJECTS)
      @$(LINKER) $@ $(LFLAGS) $(OBJECTS)
      @echo &quot;Linking complete!&quot;
  
  $(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
      @$(CXX) $(CFLAGS) -c $&lt; -o $@
      @echo &quot;Compiled &quot;$&lt;&quot; successfully!&quot;
  
  .PHONEY: prepare
  prepare:
      mkdir -p bin
      mkdir -p obj
  
  .PHONEY: clean
  clean:
      @$(RM) $(OBJECTS)
      @echo &quot;Cleanup complete!&quot;
      @$(RM) tmp_file-*
      @echo &quot;Temporary files removed!&quot;
  
  .PHONEY: remove
  remove: clean
      @$(RM) $(BINDIR)/$(TARGET)
      @echo &quot;Executable removed!&quot;
  
  
  .PHONEY: run
  run:
      ./bin/$(TARGET)
  </code></pre>