JMD
JMD

Reputation: 405

C++ math.h on OS X 10.8.5

I have a C++ program that will not compile under OS X 10.8.5 with the g++ compiler. The problem seems to be with the math.h header file.

This is the version of g++ is

g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/Users/densmore3/local/usr/local/bin/../libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/lto-wrapper
 Target: x86_64-apple-darwin14.0.0
 Configured with: ../gcc-4.9-20141029/configure --enable-   languages=c++,fortran
 Thread model: posix
 gcc version 4.9.2 20141029 (prerelease) (GCC) 

There are 40-50 errors of the type below. The code compiled fine on 10.6. What is going on?

/Users/xxxx/local/usr/local/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include-fixed/math.h:203:1: error: ‘__header_always_inline’ does not name a type
__header_always_inline int __inline_isfinitef(float);

Users/densmore3/local/usr/local/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include-fixed/math.h:580:27: error: expected initializer before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9’
extern float __inff(void) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);

Here is a piece of test code that gives the same error as my real code. The error goes away if I remove the math.h include statement.

#include <iostream>
#include <math.h>
#include <stdio.h>
//#include <complex>
//#include <vector>

int main(int argc, const char * argv[])
{

    // insert code here...
    std::cout << "Hello, World!\n";
    return 0;
}

The compile command I am using is:

g++ test.cpp

Upvotes: 0

Views: 3158

Answers (1)

JMD
JMD

Reputation: 405

gcc-4.8 is the correct version to use on OS X 10.8.

Upvotes: 2

Related Questions