在Eclipse上的Mac OS X美洲狮上使用c ++ 11(Juno或Kepler)

Legramira

嘿,每个人我都刚开始使用c ++ 11,我需要uni,一台mac机,并且我对eclipse很熟悉(我在CDT中同时拥有Juno或Kepler),但由于尝试了太多,所以我无法运行正确地在eclipse中使用任何c ++ 11功能或编译任何代码,有人一直在我的同一个位置上,请帮助我,认真地我已经尝试了所有以前的线程,但是由于我的沮丧,我仍然在终端上编译所有内容和用gedit进行编辑并不是最舒适的方式,顺便说一下,我必须使用g ++-4.7作为命令而不是g ++进行编译,这意味着我仍然拥有旧的操作系统gnu,请有人逐步解释我该怎么做。我非常沮丧,求求你!!!

ps。只是澄清一下我用自制软件安装了gcc 4.7,但是路径不同于原始文件(/ usr / local / bin,而不是我认为使用eclipse的常规/ usr / bin以及我无法使用它的原因,谢谢。大家)

Legramira

在尝试了不同的方法并花费了乏味的时间解决我的问题之后,我将回答我自己的问题,希望有同样需求的人不会尝试这种令人讨厌的情况。

首先,正如在许多论坛上所说的那样,众所周知,为Mac OS提供的gcc编译器已经过时和陈旧(在计算方面,已有5年以上的历史了),因此使用c ++ 11的第一步是获得新版本的gcc。

数据包通用管理器有两种选择(自制软件和macports软件),我不得不感到沮丧的是,我都试图查看数据包管理器中的版本是否存在问题,甚至认为应该是相同的,但是对于令我惊讶的是,我稍后会解释一个小的区别,这使我建议使用macport,因为使用macports时,eclipse可以像使用旧c ++一样流畅,而使用自制程序进行安装时,编译将与macport相同,但是eclipse会抱怨c ++ 11中的新语法(eclipse会告诉您资源无法解析,甚至不能正确编译)。

此步骤假设您已经拥有命令行:

  1. 从官方网页下载适当的Macports(google it)
  2. 在终端中键入以下命令
    • sudo端口selfupdate
    • sudo端口升级已过时
    • 须藤端口安装-d gcc47
    • 端口选择--list gcc

有了这个,您就拥有了gcc,并且会告诉您在Mac中安装了哪些gcc,而现在由于缺少新的gcc,它会丢失选择内容,请使用它。-sudo端口选择gcc mp-gcc47

3在我的情况下安装eclipse kepler创建了一个新的C ++项目,但是让所有的标准操作都做了下一个:-在向导窗口中,选择交叉GCC作为工具链(例如,可执行的Hello World c ++项目),作为工具链,放置一个随机名称,然后在窗口后按下一步,现在在选择编译器的窗口中输入新gcc的路径(默认为/ opt / local / bin)作为前缀,将其保留为空,然后按完成底部。

4现在转到项目属性,在c / c ++构建中选择设置,并在工具设置选项卡中转到在g ++交叉编译器中的其他选项,并在其他标志中添加-std = c ++ 11。

5到最后,转到c / c ++ general- >路径和符号,然后选择制表符,然后选择gnu c ++语言,然后按添加以键入GXX_EXPERIMENTAL_CXX0X作为名称,然后按确定。

现在只需按Apply和OK,之后Mac应该在eclipse中运行c ++ 11。

希望对您有效,就像我在你们周围看到您一样。

请注意,也许您将要配置运行,但是比起运行要简单得多->运行配置并双击c / c ++应用程序,现在几乎所有内容都会为您生成,只需要您用编译器输出的路径(假设您已经构建了将生成可执行文件的项目),通常该文件位于项目的debug文件夹中,其名称与所有已编译的文件的名称相同。

有一个好人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章