Skip to content

Instantly share code, notes, and snippets.

@qnighy
Created August 14, 2011 14:07
Show Gist options
  • Save qnighy/1144901 to your computer and use it in GitHub Desktop.
Save qnighy/1144901 to your computer and use it in GitHub Desktop.

競技プログラミングを始めようという人のための、C/C++の環境を手に入れる方法メモ

競技プログラミングの素質がある人でも、コンパイラーが入手できずに競技プログラミングの世界に入ることができないということはよくあることで、問題になっています。

このメモはあくまで簡単な説明に過ぎませんが、それでも多少の助けになれば幸いです。

対象: Windowsユーザー。 (Mac/Linuxユーザーはそれなりに詳しいと思うので大丈夫だと思います)

C/C++の環境を手に入れる方法はいくつかあり、どれか1つで充分です。ここでは1個ずつ簡単に説明します。

MinGWを使う

僕が最もオススメする方法です。 まず、 http://www.mingw.org/ からインストーラーをダウンロードします。 といっても、このサイトの構成は分かりづらいので、現時点では http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/ から「mingw-get-inst-20110802.exe」を選んでくれればよいです。 あとは画面の指示に従ってインストールしてください。

途中でSelect Componentsというのがあるので、「C++ Compiler」を忘れずチェックしてください。

これでインストールは完了しますが、使うためにはさらにPATHを設定する必要があります。 PATHは、使いたいコマンドがある場所を指定するためのもので、「C:\cygwin\bin;C:\Windows\system32;C:\Windows\」のようにフォルダ名を;区切りで書いてあります。 ここにC:\MinGW\binを追加します。

このあたりの説明を参照してください。

これが終わったら、「コマンドプロンプト」を起動してgccと入力し、Enterを押します。 「gcc: no input files」と出たら成功です。

Cygwinを使う方法

Cygwinは最もオーソドックスな手段です。 2009年12月23日に、Cygwin 1.7がリリースされました。新しくなってより使いやすく…なったかどうかはよくわかりません。

Cygwinのsetup.exe http://cygwin.com/setup.exe をダウンロードして実行します。

最も標準的なインストール手順を書いておきます。

  • 「次へ」
  • 「Install from Internet」を選び、「次へ」
  • 「All Users」を選び、「次へ」
  • 「Local Package Directory」は普通はそのままで構いません。「次へ」
  • 「Direct Connection」を選び、「次へ」
  • 待ちます
  • 「 ftp://ftp.jaist.ac.jp 」など.jp系がおすすめです。1つ選んで、「次へ」
  • 待ちます
  • 大量の一覧が出るので、「Devel」にある「gcc4-g++」をクリックすると、「Skip」が「4.3.4-4」とかになると思います。そしたら「次へ」
  • 依存関係がどうたらというメッセージが出たら、そのまま続けて構いません。
  • あとは終わりです。

また、最初にインストールするとき、「バージョン1.5と1.7がどうたら」というダイアログがいかにもエラーっぽい感じで出るかもしれませんが、「バージョンアップする場合は気をつけてね」程度のものなので無視して構いません。

デスクトップにCygwinというアイコンが出ると思うので、それを実行して、

$ ■

というところにgccと打ってEnterして、「gcc: no input files」と出れば成功です。

Visual C++を使う方法

Visual C++はMicrosoft謹製のツールです。無料で使える体験版があります。 競技プログラミングとの相性がいいかというと微妙です。 これについてはここでは解説しません。まともなソフトなのでインストールは難しくないと思います。

仮想化ソフトを使ってLinuxを入れる方法

これは僕から言わせれば理想(JOI本選以降ではこの方式が使われる)なのですが、実際問題としては難しいので別にやらなくて構いません。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment