通过命令行在OS X上编译简单的Hello World程序

时间:2010-11-01 21:39:52

标签: c++ xcode macos

我有一个简单的hello world示例,我正在尝试在OS X上编译,名为hw.cpp

#include <iostream>
#include <string>
using namespace std;
int main() {
  cout << "Hello world!" << endl;
  return 0;
}

我想用gcc编译它,但我没有成功。我还想听听其他选项,比如使用Xcode?

8 个答案:

答案 0 :(得分:147)

尝试

g++ hw.cpp
./a.out

g++是GCC的C ++编译器前端 gcc是GCC的C编译器前端。

是的,Xcode绝对是一个选择。它是一个构建在GCC之上的GUI IDE。

虽然我更喜欢稍微冗长的方法:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}

答案 1 :(得分:30)

g++ hw.cpp -o hw
./hw

答案 2 :(得分:8)

user@host> g++ hw.cpp
user@host> ./a.out

答案 3 :(得分:5)

使用gcc进行编译需要您传递许多命令行选项。请改为使用g++进行编译。

答案 4 :(得分:1)

您没有指定您所看到的错误。

问题是gcc给您一个错误,或者您根本无法运行gcc

如果是后者,最可能的解释是您在安装开发工具时未检查“UNIX开发支持”,因此命名行可执行文件未安装在您的路径中。重新安装开发工具,并确保单击“自定义”并选中该框。

答案 5 :(得分:1)

新版本的内容应如下所示:

xcrun g++ hw.cpp
./a.out

答案 6 :(得分:0)

此外,您可以使用像CLion(JetBrains)这样的IDE或像Atom这样的文本编辑器,使用gpp-compiler插件,就像一个魅力(F5编译和执行)。

答案 7 :(得分:0)

对多个.cpp文件使用以下内容

var obj = {
CreatedById: "Created By ID",CreatedDate: "Created Date",Id: 
"Record ID",IsDeleted: "Deleted",LastActivityDate: "Last Activity Date",LastModifiedById: "Last Modified By ID",LastModifiedDate: "Last Modified Date",Name: "Data Import Name",OwnerId: "Owner ID",SystemModstamp: "System Modstamp",Last_Name__c: "Last Name",Mandate_Date_Signed__c: "Mandate Date Signed",Mandate_End_Date__c: "Mandate End Date",Mandate__c: "Mandate"};
var res = Object.keys(obj).includes('Last_Name__c');
console.log(res);