2009-09-14 71 views
2

所以,我是一名全新的CS学生,在Mac上,我正在为我的一个课程学习C++。我对如何编译我的超级基本C++程序有一个愚蠢的问题。通过Xcode使用GCC编译基本程序

我安装了Xcode,我正在浏览文档,试图弄清楚如何使用它(并且我高度怀疑它对于我现在正在做的事情来说极其不合理),并最终最终进入终端并且去“gcc [文件名]”。而且我有一个屏幕上充满了以“未定义符号”开头的文本,并继续尝试引用事物,所以我想知道如果我没有在某处连接某些东西,特别是当我实际上处于打开C++程序的Xcode,大多数菜单项都变灰了。

所以。真的很基本。我错过了什么,我该如何解决?有没有Xcode的基本指南?大部分文档都针对真正的开发人员,而我完全错过了很多假设。

+0

如果你没看见,我会在这里过评论:这听起来像马丁的解决方案是正确的,你只是不实际运行该程序。如果你还没有看到我的评论。 – Chuck 2009-09-15 18:13:51

+0

谢谢,我终于看到了你的评论,并在下面回复。 – klreeher 2009-09-16 02:07:38

回答

1

如果安装了XCode,则所有设置都正确。

如果你在命令行键入gcc,那么你调用了'C'编译器(而不是C++编译器)。通常这不重要,因为GCC通过查看文件扩展名进行补偿。但是,重要的是它不会使用正确的C++标志调用链接器。

你应该做的(命令行)是使用G ++

g++ <fileName>.cpp 

默认情况下,输出文件是a.out的,并放置在同一目录下。
G ++有一个标志来指定不同的输出名称-o

g++ -o <outputName> <fileName>.cpp 
+0

这将解释很多 - 但是当我尝试它时,终端只是给了我一个新的线。没有错误,没有。 (这是一个程序,要求输入多个数据,并且应该返回一个输出,并且我已经在另一台计算机上测试过了。) – klreeher 2009-09-14 23:32:03

+1

@KLR:你意识到GCC/G ++只会编译程序,对吧?它不会为你运行程序。如果您没有提供输出名称,它将调用编译的程序“a.out”。 – Chuck 2009-09-14 23:44:37

+0

好吧。我现在觉得很愚蠢。好的,编译后的程序也会和原始文件在同一个目录下?以及如何提供输出名称? – klreeher 2009-09-16 02:06:58