コマンドラインを介してOS Xで簡単なHello Worldプログラムをコンパイルする


97

OS Xでコンパイルしようとしている簡単なhello worldの例がありますhw.cpp

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

を使用してコンパイルしたいのですgccが、うまくいきませんでした。Xcodeの使用など、他のオプションについても聞きたいです。


7
「成功しない」は、実際に問題を診断するのに役立ちません。
Gareth Davidson

回答:


183

試す

g++ hw.cpp
./a.out

g++GCCのC ++コンパイラフロントエンドです。
gccGCCのCコンパイラフロントエンドです。

はい、Xcodeは間違いなくオプションです。これは、GCCの上に構築されたGUI IDEです。

私はもう少し冗長なアプローチを好みますが:

#include <iostream>

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

17
@math:return 0メインで暗黙的です。
fredoverflow 2010年

3
@mathepic:と+1。C ++では必要ありません。場合はmain、リターンを押すことなく到達する関数の最後には、それは暗黙的に0を返す
マーティンニューヨーク

2
ああ、そうか。わかりやすくするために引き続き使用します。
代替

4
@mathepic:それは1つの意見です。個人的には使用しないほうが明確だと思います。
マーティンヨーク

1
なんでa.out?Windowsで表示されることを期待していますa.exe。* nixでは、拡張機能は必要ありません。拡張子なしで.outを使用する理由 aも奇妙なデフォルト名です。
P.Brian.Mackey 2015




2

これの新しいバージョンは次のようになります。

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

これは私を与えるld: can't link with a main executable file './a.out' for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Eddified

@ Rat-a-tat-a-tatごめんなさい、3年前のことです。
2017年

1

表示されているエラーが何であるかを指定していません。

gccエラーが発生している問題ですか、それともまったく実行できない問題gccですか?

後者の場合、最も可能性の高い説明は、開発ツールをインストールしたときに「UNIX開発サポート」をチェックしなかったため、コマンドライン実行可能ファイルがパスにインストールされていないことです。開発ツールを再インストールし、必ず「カスタマイズ」をクリックして、そのボックスをチェックしてください。


1

また、CLion(JetBrains)などのIDEまたはAtomなどのテキストエディターをgpp-compilerプラグインと共に使用すると、チャーム(F5でコンパイルおよび実行)のように機能します。


1

複数の.cppファイルには次を使用します

g++ *.cpp
./a.out
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.