繁体   English   中英

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

[英]use c++11 on mac os x mountain lion with eclipse (Juno or Kepler)

嘿,每个人我都刚开始使用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以及我无法使用它的原因,谢谢。大家)

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

首先,在许多论坛上都提到,众所周知,为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遗漏了,所以现在会丢失select,使用它。 -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 ++常规->路径和符号,然后选择制表符,然后选择gnu c ++语言,然后按添加以键入GXX_EXPERIMENTAL_CXX0X作为名称,然后按确定。

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

希望能为您服务,就像我看到你们周围的人一样。

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

有一个好人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM