siteメニューコンテンツへ移動ホームC++に関する記録コメントをどうぞ気付けば冬ですが、けいなです。今回はC++に関して試行錯誤したことについて書きます。SRMやAtCoder、絶賛放置中のAOJではJavaを使いです。C++は随分前に手を出そうとして環境構築との戦いに負けて放置していました。環境構築をしたのですが前回と同様に痛い目にあったので少しまとめておきます。SRMでEclipse上のEclipseCoderに頼りきりな人です。C++もまずはEclipseで、と考えました。Worldを打ち込んでプロジェクトをコンパイルして実行...したところターミナルになにも出力されない。調べるとEclipseとMinGWの組み合わせで、64bitの時に生じるバグのよう。リンカのオプションに-staticを渡してやると直ることが分かったのでプロジェクトのプロパティから適当に挿入して解決。前に嵌ったのはこれだったので前回は調査不足だったということですね、残念。次に、適当にテストケースを放り込むものをEclipseCoderのC++で生成されるものを流用して使うことに。何も考えずに次のようなコードを書いてコンパイルできずに死亡。13};C++11で導入された記法らしいということに辿り着くまでにすこしかかったもののたどり着いてからは早く。コンパイラのオプションに-std=c++11を渡してやるとコンパイル通るので適当に。8はバッテリーの食い方が異様なので電源を使用していない時はほとんど使っていません。8のEclipseを使用しているため普段は使用されることなく。結局、環境作った筈なのに全く進まない。(正直Appleには頑張って欲しいところ、トラックパッドのドライバとか特に!)そこで、Macで書けるようにしようということでclangとバトル。これがまたあまりうまく行かなかった。普段C++を使わない人が適当に頑張ろうとするのが悪いのだろうと思いつつ延々。8+MinGW+Eclipseで成功した-std=c++11辺りを放り込んで色々やっていたもののあまりうまく行かず。probtest.cpp結論はあっけなく。c++として認識させろということでした、はい。Macで書けるようになった。この程度だとvimとコンソールで書けるしWindowsのcygwinでできるのでは...ということで色々。clang++と試行錯誤しつつ延々酷い目にあって、C_INCLUDE_PATHやCPLUS_INCLUDE_PATH、LIBRARY_PATHを弄っていて。Eclipse側が読み込んでいるPleiadesお抱えのMinGW配下のファイルを読み込ませても上手く行かなかった。cygwinが抱えているヘッダファイル達を読み込む方向に転換するもなにかがおかしい。clangやgccが抱えていたヘッダファイル等をEclipseの読み先と似たように持ってきているのに全く通らず。エラー吐いている部分を適当にググるとStackOverFlowがヒットして、調べるとcygwinのgccがこの例と同じく4.5.3。cygwinのインストーラーを持ってきて4.5.3を使っている部分をすべからく4.7.2にアップデートしたところコンパイル成功。probtest.cpp教訓:環境とデフォルト設定を疑えと、これでコンソールで書けるようになったのでDropboxか何かで同期させておけばいつでもできる。引数の微妙な差分は.zshrcで環境ごとにalias通して作業すれば十分。...TopCoderはC++11じゃないしこの環境だと参加するには微妙なところだな...。コメントをキャンセルメールアドレスが公開されることはありません。