windows10 で GCC

windows 環境で GCC を使うとすると、MinGW が有名だが、現時点で、公式には gcc  6.3くらいまでしか対応してない。

もうちょっと最新版が使えないか調べたら、MinGW Distro というのを見つけた。version は驚きの 7.1 。

すぐに使うことはないだろうが、紛れないように記録。

 

 

カッコーはウェブに卵を産むか

将棋ソフトが整ってくると次に欲しくなるのが棋譜だ。

連盟の将棋中継アプリの通信内容からなんとか kif 形式に落とすことはできないか考えてみましたが、がっつり ssl かかってました。

ところで、ssl の筋に入っていく前にアプリはhttp://kak.o.oo7.jp/ShogiLive/ann/iphone.txt というところに GET リクエストを送っている。 “カッコーはウェブに卵を産むか” の続きを読む

Mac で技巧2を使う

また将棋ネタ。
メインで使っている XPS 13 の調子が悪く、ここのところ移動時には MacBook を携えている。困るのは将棋ソフトが充実していない点。

なので elmo (というか YaneuraOu)や技巧2をソースからコンパイルしてみた。

基本的なやり方は、ここここといっしょ。

技巧2の方は、Mac オリジナルの gcc でコンパイルできないので(OpenMP とやらでひっかるみたい)、GCC の gcc49 で置きかえてコンパイル。導入には homebrew より macports の方が簡単のようで、私はそうしました。

 

【Tips!】

$ port search gcc

でインストールできるパッケージを確認。

$ sudo port install gcc49

でインストール。

$  port contents gcc | grep /bin/

でパッケージの実体の path を調べる。私の場合は /opt/local/bin 以下にありました。

$ which gcc

でオリジナルの gcc g++ の path を確認して(私の場合は /usr/bin )

$ sudo ln -sf /opt/local/bin/gcc-mp-4.9 /usr/bin/gcc

$ sudo ln -sf /opt/local/bin/g++-mp-4.9 /usr/bin/g++

で、リンクをはる(※)、という手順。要するに Mac がコンパイルするとき、/usr/bin 以下の gcc を使うので、リンク貼ってそこから gcc-mp-4.9 に飛ばすという理屈。

 

エンジンができたら、将棋ブラウザQ などに登録。無事 Mac 環境下でも強豪将棋ソフトが使えました。

実際の elmo VS 技巧2のバトルは YouTube で。

※‥‥直リンなのでターミナル上で誤操作をするとオリジナルの gcc/g++ が消える可能性もあります。操作は自己責任でお願いします。なお、Mac に不慣れな私もこれをやってしまいましたが、OS X のマイナーアップデートで修復されます。こういうのが嫌な場合は、おとなしく makefile を編集しましょう(コメント欄参照。こっちの方が簡便か)。

 

【Tips】お手軽に Win機で git や GitHub を使う

またしても忘備録的メモです。

GitHub を使う必要があり、まず、 git(ギット) や GitHub の概念を予習。
あたりがわかりやすかった。ざっくりいえば、
  git はローカルリポジトリでのプロジェクト管理コマンド群
GitHub は git プロジェクトに対応したリモートのリポジトリ
(クラウド型サービスといったらいいか?)
ということらしい。GitHub にはけっこうお世話になっているが、裏ではこんな感じで運用されてたんですか。知らんかった。今まで、プログラム落としてばっかりでごめんね
ところで、今回はそんなにがしがし使う必要性がなかったので(さる筋から頼まれたからプログラムを上げて、たまに更新するだけ)、日常使いの Win機(ノートPC)でなんとかしたかった。

 ところが、ネット上で調べると Git For Windows を使えだの SourceTree を使えだのという記事ばっかり。開発用のモンスター級のデスクトップ機持ってたら、これでいいんでしょうが、非力なノートPCに入れる気はまったくおこらず、この路線はすべて却下。 幸いなことに愛機(XPS13)には、VMware Player 上に Ubuntu が走っているので、ここから、git を使うことにした(というかもともと使えるようになっている)。win のコマンドラインから使うのもありですが、設定が面倒だと感じる場合はこちらで。

まず、GitHub にアカウントを登録。当然、二段階認証はオン。SSH接続させたかったので Ubuntu で秘密鍵と公開鍵つくって、公開鍵を GitHub アカウントに登録。ターミナルから

ssh -T git@github.com

で、SSHで接続されているか確認。

次に、適切なところに git で管理したいディレクトリを作成。ホストOS(Win10)との共有フォルダから必要なファイル・ディレクトリをここにコピー。後は Unix 系 git のお作法にしたがって、ローカルリポジトリを作成し、GitHub に push 。

commit だの add だのでてきて、最初は慣れなかったが、使っていくうちになんとなく使えるようになってきた。単純に上げるだけなら以下のような形式化された手順ですむ。具体的には以下の通り。

1.git init でフォルダ内プロジェクトの初期化
2.git add LICENSE(だとかフォルダ名だとか) で必要なファイルをインデックス?に追加
3.git commit -m “UPDATE(とかわかりやすいコメントをつける)” でコミット。

ここまででローカルのリポジトリは、ひとまず完成。次にリモートに上げる。

4.最初に上げる場合は、

git remote add origin git@github.com:user_name/repository_name.git

でリモートリポジトリ名を指定。

5.最後は git push -u origin master でリモートに上げる(サーバーの応答はけっこう高速)。

実際に開発して管理するとなると大変そうだが、今回の案件だとこんなもんですんだ。

もうちょっと突っ込んだ使い込みをしたい場合は、やはり成書が必要でしょう。『Git ポケットリファンレンス』が評判よいようです。