Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Mac端口与MMACOSX版本MIN和基础报头的GCC 4.82错误 < P> >我运行了0.92.并通过Mac端口安装了GCC 4.8-2( SUDO端口安装GCC48 +通用< /代码>),无法编译设置 -MMACOSX版本MIN=10.8 < /COD>或任何其他版本的Objy-C代码并包含基础。如果我将版本设置为10.9,或者根本不设置,它就可以工作_C++_Gcc_Macports_Foundation - Fatal编程技术网

C++ Mac端口与MMACOSX版本MIN和基础报头的GCC 4.82错误 < P> >我运行了0.92.并通过Mac端口安装了GCC 4.8-2( SUDO端口安装GCC48 +通用< /代码>),无法编译设置 -MMACOSX版本MIN=10.8 < /COD>或任何其他版本的Objy-C代码并包含基础。如果我将版本设置为10.9,或者根本不设置,它就可以工作

C++ Mac端口与MMACOSX版本MIN和基础报头的GCC 4.82错误 < P> >我运行了0.92.并通过Mac端口安装了GCC 4.8-2( SUDO端口安装GCC48 +通用< /代码>),无法编译设置 -MMACOSX版本MIN=10.8 < /COD>或任何其他版本的Objy-C代码并包含基础。如果我将版本设置为10.9,或者根本不设置,它就可以工作,c++,gcc,macports,foundation,C++,Gcc,Macports,Foundation,代码如下: #include <Foundation/Foundation.h> int main() { return 0; } 我收到的错误是: In file included from /usr/include/Availability.h:148:0, from /opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.2/include-fixed/math.h:46,

代码如下:

#include <Foundation/Foundation.h>
int main() {
    return 0;
}
我收到的错误是:

In file included from /usr/include/Availability.h:148:0,
             from /opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.2/include-fixed/math.h:46,
             from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:19,
             from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6,
             from objctest.m:1:
/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:16:45: error: expected ',' or '}' before '__attribute__'
 NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3
                                         ^
即使我像这样添加-isysroot参数:

-isysroot `xcodebuild -version -sdk macosx Path` 
它仍然不起作用(尽管它给出了与SDK相关的错误)

MacPorts GCC是否损坏,或者这是GCC和OS X头的问题

我的最终目标是为10.6编译一个使用C++11特性的完整程序(QtGUI),因此GCC是必须的,因为10.6没有libc++

更新1:OS X的头将
\uuuuu属性(弱导入))
应用于单个枚举类型,而GCC显然不支持这一点:

对于枚举、结构或联合类型,可以指定枚举、结构或联合标记与类型名称之间的属性,也可以指定刚过定义的右大括号的属性

我不想修补SDK头,所以看起来这是不可能的

更新2:它是一个文档化的Clang扩展:

Clang允许在单个枚举数上写入属性。这允许不推荐使用枚举数、使其不可用等。该属性必须出现在枚举数名称之后和任何初始值设定项之前


在gcc-4.8中使用框架头时遇到问题。它抱怨的是枚举数上存在属性,例如

enum foo {
   foo_alice = 1,
   foo_bob = 2,
   foo_carol __attribute__((deprecated)) = 3
};
但gcc不支持这一点;是的。一般来说,gcc会通过消息头来使它们工作,但它只会影响系统头,而不会影响框架头


我只是想知道为什么当
Qt
C++
,并且我希望它不依赖于
Objective-C
特性时,你却在尝试编译
Objective-C
代码。

我在发布后发现了这一点(见更新)。我有一个目标是10.7但需要移植到10.6的程序,它使用C++11,所以我想我会尝试使用GCC进行编译,但听起来似乎还不可能。另外,该程序也依赖于Objective-C。
enum foo {
   foo_alice = 1,
   foo_bob = 2,
   foo_carol __attribute__((deprecated)) = 3
};