2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# C++ Standard Libraries
							 | 
						
					
						
							
								
									
										
										
										
											2017-01-04 16:16:00 -06:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								There are two C++ standard libraries supported by Apple compilers.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2016-09-14 17:29:07 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								The default for 10.8 and earlier is **libstdc++**, supported by Apple GCC
							 | 
						
					
						
							
								
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								compilers, GNU GCC compilers, and `clang`. This was marked deprecated with a
							 | 
						
					
						
							
								
									
										
										
										
											2016-09-14 17:29:07 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								warning during compile as of Xcode 8.
							 | 
						
					
						
							
								
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								The default for 10.9 is **libc++**, which is also the default for `clang` on older
							 | 
						
					
						
							
								
									
										
										
										
											2016-09-14 17:29:07 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								platforms when building C++11 code.
							 | 
						
					
						
							
								
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2016-09-14 17:29:07 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								There are subtle incompatibilities between several of the C++ standard libraries,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								so Homebrew will refuse to install software if a dependency was built with an
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								incompatible C++ library. It's recommended that you install the dependency tree
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								using a compatible compiler.
							 | 
						
					
						
							
								
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2016-09-14 17:29:07 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								**If you've upgraded to 10.9 from an earlier version** - because the default C++
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								standard library is now libc++, you may not be able to build software using
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								dependencies that you built on 10.8 or lower. If you're reading this page because
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								you were directed here by a build error, you can most likely fix the issue if
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								you reinstall all the dependencies of the package you're trying to build.
							 | 
						
					
						
							
								
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								Example install using GCC 4.8: ```brew install DESIRED_FORMULA --cc=gcc-4.8```.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								Get GCC 4.8 via: ```brew install gcc48```
							 |