OSX 10.8上-stdlib=libc++的部署目标无效
Invalid deployment target for -stdlib=libc++ on OSX 10.8
我正在通过node-gyp
编译一个节点。用C++编写的JS包。当我编译它时,我收到以下错误:clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
。我在OSX 10.8上运行,并且我已经安装了XCode命令行工具。这是node-gyp用来编译包的文件:
{
"targets": [
{
"target_name": "package_name",
'type': 'executable',
'xcode_settings': {
'OTHER_CFLAGS': [
"-std=c++11",
"-stdlib=libc++"
],
},
"sources": [ "package_src.cpp" ],
}
]
}
基本上,它指定编译的目标、类型和标志以及源。
你知道我该怎么解决这个问题吗?
当您获得OS X 10.8时,clang将尝试构建它,以便它也可以在其他旧的OS X版本上运行。现在,由于-stdlib=libc++
需要10.7的最低版本,除非您通过指定明确告诉它将使用10.7(或更高版本)作为部署目标,否则它不会编译它
'MACOSX_DEPLOYMENT_TARGET': '10.7'
在CCD_ 4内部。
在您的情况下,完整的设置应该看起来像:
{
"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" ],
}
]
}
我不知道什么对你有效,@drewish,但我就是这样让它工作的:
{
"targets": [
{
"target_name": "package_name",
'type': 'executable',
'xcode_settings': {
'OTHER_CFLAGS': [
"-std=c++11",
"-stdlib=libc++",
"-mmacosx-version-min=10.7"
],
},
"sources": [ "overcpu.cpp" ],
}
]
}
相关文章:
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++A*算法并不总是在路径中具有目标节点
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 使用调试/崩溃报告将应用程序部署到客户端
- 为测试目标创建具有不同源文件夹的文件
- 使用源向量作为目标
- 是否可以用C++/WinRT将windows 10.0.14393作为目标
- 使用 mod_gsoap 部署服务时,如何在 Gsoap 中更改 soap 上下文的模式?
- 在 CMake 中为每个目标设置编译器/链接器标志
- qmake:检测目标位宽(32 位或 64 位)
- 如何在 CMake 中对目标依赖项进行分组?
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 如何为包含头文件的目标编写生成文件?
- 线性优化目标函数中的绝对值
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- CMAKE+QT MAC 如何设置部署目标?
- OSX 10.8上-stdlib=libc++的部署目标无效
- 将 iOS 部署目标更改为 iOS 7.0 时C++ Xcode 5 的链接错误
- Cmake ROS失败:Mac OSX部署目标不匹配
- c++, Mac OS X, Xcode 8: Compile Boost:设置部署目标为OS X 10.11