thor
thor

Reputation: 22570

where are clang c++11 header files

I am trying to read and understand some of the c++11 code from clang-3.4. But I couldn't find standard headers. I am using mingw32 and build clang from source to default location at /usr/local/lib/clang/3.4.

I tried to look for and did

$ find |grep iostream

from that folder and it returned nothing. I can however compile code with fine.

Where are the clang implementation of c++11? Am I looking at the wrong folder?

--- Update ---

I built clang 3.4 from source under Windows XP 64-bit, using mingw32 (from mingw.org). I configured clang/llmv in MSYS using:

./configure --enable-pic --disable-docs --enable-targets=x86,cpp

So, I assume that clang is installed to /usr/local/, and indeed find clang/3.4 under usr/local/lib. But maybe the header files are elsewhere as suggested by the comment, I did another find/grep in the entire MinGW folder (containing MSYS) and still couldn't find the iostream file. The only thing I got was gcc version:

$ cd /c/mingw
$ find | grep iostream
./lib/gcc/mingw32/4.8.1/include/c++/iostream
./mingw32/lib/gcc/mingw32/4.8.1/include/c++/iostream

-- Update 2 ---

I tried install libcxx, using cmake

cmake -G"MSYS Makefiles" ../libcxx-3.4
make

, and got the following error:

...
[100%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/support/win32/support.c
pp.obj
d:/temp/tdm/libcxx-3.4/src/support/win32/support.cpp: In function 'size_t wcsnrt
ombs(char*, const wchar_t**, size_t, size_t, mbstate_t*)':
d:/temp/tdm/libcxx-3.4/src/support/win32/support.cpp:134:88: error: 'wcrtomb_s'
was not declared in this scope
             result = wcrtomb_s( &char_size, dst + dest_converted, dest_remainin
g, c, ps);
...

Upvotes: 2

Views: 7746

Answers (1)

arrowd
arrowd

Reputation: 34421

Clang builds separately from libc++, so you need to install it first to get that <iostream> include file.

Alternatively, you can instal MinGW, which comes with GNU libstdc++.

Upvotes: 0

Related Questions