Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invalid deployment target for -stdlib=libc++ on OSX 10.8

I am compiling through node-gyp a Node.JS package written in C++. When I compile it I receive the following error: clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later). I'm running on OSX 10.8, and I have installed the XCode Command Line Tools. This is the file used by node-gyp to compile the package:

{
  "targets": [
    {
      "target_name": "package_name",

      'type': 'executable',

      'xcode_settings': {
        'OTHER_CFLAGS': [
          "-std=c++11",
          "-stdlib=libc++"
        ],
      },

      "sources": [ "package_src.cpp" ],
    }
  ]
}

Basically it specifies the target of the compilation, the type and the flags, as well as the sources.

Any idea on how I can solve this problem?

like image 520
Masiar Avatar asked Feb 13 '14 10:02

Masiar


2 Answers

Whilst you got OS X 10.8 clang will try to build it so that it can be run on other older OS X versions too. Now since -stdlib=libc++ requires a minimum version of 10.7 it won't compile it unless you explicitly tell it that you'll use 10.7 (or higher) as the deployment target by specifying

'MACOSX_DEPLOYMENT_TARGET': '10.7'

inside the xcode_settings.

In your case the complete settings should look like:

{
  "targets": [
    {
      "target_name": "package_name",

      'type': 'executable',

      'xcode_settings': {
        'MACOSX_DEPLOYMENT_TARGET': '10.7',

        'OTHER_CFLAGS': [
          "-std=c++11",
          "-stdlib=libc++"
        ],
      },

      "sources": [ "package_src.cpp" ],
    }
  ]
}
like image 166
AliciaBytes Avatar answered Nov 18 '22 08:11

AliciaBytes


I don't know what worked for you, @drewish, but this is how I got it to work:

{
  "targets": [
    {
      "target_name": "package_name",

      'type': 'executable',

      'xcode_settings': {
        'OTHER_CFLAGS': [
          "-std=c++11",
      "-stdlib=libc++",
      "-mmacosx-version-min=10.7"
        ],
      },

      "sources": [ "overcpu.cpp" ],
    }
  ]
}
like image 38
Masiar Avatar answered Nov 18 '22 06:11

Masiar