2012-11-15 73 views
12

Tôi không thể biên dịch tăng cường với clang 3.1 trên Mac os x 10.8.2.Biên dịch tăng C++ 11 clang mac không thể tìm thấy cstddef

Đây là những gì tôi đã làm:

./bootstrap.sh --with-toolset=clang 
./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" 

Tôi cũng đã cố gắng mà không chrono, kiểm tra, sóng và tín hiệu. Tôi đã thử một người dùng config.jam với

using clang-darwin 

Đây là lỗi tôi có cho hầu hết các tập tin:

/boost/config/select_stdlib_config.hpp:18:12: fatal error: 'cstddef' file not found 

Nó là loại tương tự như How to compile/link Boost with clang++/libc++?

Cảm ơn bạn: -)

Cập nhật: Tôi có phiên bản Xcode 4.5.2 mới nhất đã cài đặt công cụ dòng lệnh.

Dưới đây là một phần của giao diện điều khiển đầu ra:

Kikohs:trunk kikohs$ ./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" 
Performing configuration checks 

- 32-bit     : no 
- 64-bit     : yes 
- x86      : yes 
- has_icu builds   : no 
warning: Graph library does not contain MPI-based parallel components. 
note: to enable them, add "using mpi ;" to your user-config.jam 
    - gcc visibility   : yes 
    - long double support  : no 
warning: skipping optional Message Passing Interface (MPI) library. 
note: to enable MPI support, add "using mpi ;" to user-config.jam. 
note: to suppress this message, pass "--without-mpi" to bjam. 
note: otherwise, you can safely ignore this message. 

Xây dựng Boost C++ Libraries.

- iconv (libc)    : no 
- iconv (separate)   : yes 
- icu      : no 
- icu (lib64)    : no 

phần cấu hình:

- atomic     : building 
- chrono     : building 
- context     : building 
- date_time    : building 
- exception    : building 
- filesystem    : building 
- graph     : building 
- graph_parallel   : building 
- iostreams    : building 
- locale     : building 
- math      : building 
- mpi      : building 
- program_options   : building 
- python     : building 
- random     : building 
- regex     : building 
- serialization   : building 
- signals     : building 
- system     : building 
- test      : building 
- thread     : building 
- timer     : building 
- wave      : building 

...patience... 
...patience... 
...patience... 
...patience... 
...found 8672 targets... 
...updating 1127 targets... 
common.mkdir bin.v2/libs/atomic 
common.mkdir bin.v2/libs/atomic/build 
common.mkdir bin.v2/libs/atomic/build/clang-darwin-4.2.1 
common.mkdir bin.v2/libs/atomic/build/clang-darwin-4.2.1/debug 
clang-darwin.compile.c++ bin.v2/libs/atomic/build/clang-darwin-4.2.1/debug/lockpool.o 
In file included from libs/atomic/src/lockpool.cpp:1: 
./boost/atomic.hpp:10:10: fatal error: 'cstddef' file not found 
#include <cstddef> 
    ^
1 error generated. 

"clang++" -x c++ -O0 -g -std=c++11 -stdlib=libc++ -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE -I"." -c -o "bin.v2/libs/atomic/build/clang-darwin-4.2.1/debug/lockpool.o" "libs/atomic/src/lockpool.cpp" 
+0

Tôi đã sửa chữa tiêu đề của bạn, thay đổi 'cstddef.h' thành' cstddef' –

Trả lời

4

Cuối cùng tôi đã khắc phục sự cố của mình sau nhiều giờ.

Homebrew đã rối tung với đường dẫn của tôi và vì lý do nào đó, tiếng kêu của tôi không thể tìm thấy tiêu đề libC++.

Có lỗi là tăng 1.52.

Xem Boost numeric limits bug

tôi phải chỉnh sửa file:

boost/config/stdlib/libcpp.hpp 

và vá nó:

#if _LIBCPP_VERSION < 1002 
# define BOOST_NO_CXX11_NUMERIC_LIMITS 
#endif 

Bây giờ tăng đang xây dựng đúng cách ...

+0

Homebrew bây giờ có tùy chọn để xây dựng tăng với C++ 11, tăng được vá bởi homebrew :-). – Kikohs

+0

Chỉ cần một lưu ý, tôi không nghĩ rằng có một cách để làm điều này với travis-ci nếu bạn đang xây dựng tăng cường cùng với dự án của bạn. Nếu có ai tìm được đường, hãy cho tôi biết, nhưng tôi không nghĩ có cách nào là do tiếng kêu của travis-ci đã lỗi thời. –

5

Dường như bạn quên cài đặt libC++ header cùng kêu vang.

Nếu bạn không muốn gây rối với việc cài đặt tiêu đề, hãy thử phiên bản clang do Apple phân phối như một phần của gói Công cụ dòng lệnh; nó đã trải qua nhiều thử nghiệm hơn và nó đã được thiết lập đúng cách.

+0

Tôi đã cài đặt phần tử t Xcode với các công cụ phát triển. – Kikohs

Các vấn đề liên quan