なんだかメモ帳の文字が変だぞ?
生麦〜東戸塚に謎の線路がある
vim ことはじめ(Syntax Highlight)
vimにも少し慣れておかないとなぁと、perlのコードを書いたときの話。
emacsなら何もしなくても ".pl" はPerlコードですね!Syntaxハイライトします。となるところだけど、vimの場合はこれを自動的にやってくれないという。
そんなバカなと思って調べてみると、どうやら ~/.vimrc にお作法を書いておく必要があるとのこと。とりあえず以下のように書いたところちゃんとSyntaxハイライトがかかりました。
syntax on set autoindent set expandtab set tabstop=4 set shiftwidth=4 set cursorline set number
参考Webページ
Visual Studio 2015 でOpenCV2.xを使う (第2回)
前回はCMakeを使ってVisual Studio 2015用のOpenCVプロジェクトを生成するところまで紹介しました。
今回は、OpenCVプロジェクトのビルドから動作確認までを見ていきたいと思います。
1. OpenCVプロジェクトのビルド
(Generate実行後)CMakeの [Open Project] ボタンをクリックするか、buildフォルダにある "OpenCV.sln" を開くと、Visual Studio 2015が起動し、ソリューション "OpenCV" が読み込まれている状態になります。
まずはDebug用のバイナリとライブラリファイルを生成したいと思うのので、ソリューションの構成が「Debug」になっていることを確認します。(32bit用の場合は「Win32」、64bit用の場合は「x64」になります)
ソリューションをビルドします。Debugの場合はあまり時間がかからなかったです。
ビルド中は下方にある出力ウィンドウにログが出力されます。ビルドが完了するとその旨が出力ウィンドウに表示されます。エラーや失敗がないことを確認して下さい。
ビルドが正常に終了したら、ソリューションの構成を「Release」に変更して、同様にビルドを行ないます。
以上で、Debug用とRelease用のバイナリとライブラリファイルが生成されたことになります。場所としてはbuildフォルダの下に "bin" と "lib" が作られており、その中にそれぞれ "Debug" と "Release" がある構成になっています。
C:\opencv └─ opencv-2.4.13 ├─ build ├─ sources ├─ LICENSE.txt ├─ README.md.txt └─ build_x86 ├─ bin | ├ Debug | └ Release └─ lib ├ Debug └ Release
2. バイナリとライブラリファイルを配置する
このままのフォルダ構成でも問題はないのですが、見通しをよくするためにファイルを再配置します。
もともとあるOpenCVのbuildフォルダを見てみると、以下のような構成になっています。
C:\opencv └─ opencv-2.4.13 ├─ build | ├─ x86 | | ├─ vc11 | | └─ vc12 | | ├─ bin | | └─ lib | └─ x64 | ├─ vc11 | └─ vc12 | ├─ bin | └─ lib ├─ sources ├─ LICENSE.txt ├─ README.md.txt └─ build_x86
つまり、buildの下に "x86"(32bit用)と "x64"(64bit用)があり、その下にそれぞれ "vc11"(Visual Studio 2012用)と "vc12"(Visual Studio 2013用)があって、その中に "bin"(バイナリ)と "lib" ライブラリファイルがあることになります。
このフォルダ構成になって、vc14(Visual Studio 2015用)のフォルダを作ってそこに先ほどビルド生成したバイナリとライブラリファイルを配置したいと思います。
なお、再配置するファイルは以下の拡張子のものになります。
- exe
- dll
- lib
拡張子がpdb、ilk、expのものはVisual Studioのプロジェクトが使用するファイルなので移動させる必要はありません。
3. OpenCVの動作確認を行なう
ビルド生成して配置したOpenCVのバイナリとライブラリファイルが正しく使えるか確認します。Visual Studio 2015 を起動させて適当な場所にコンソールアプリケーションのプロジェクトを作成します。
OpenCVのサンプルページを参考に適当にプログラムを書きます。
入出力 — OpenCV2 プログラミングブック リファレンス編
プロジェクトのプロパティを編集します。左方の「VC++ ディレクトリ」を選択し、「インクルード ディレクトリ」と「インクルード ディレクトリ」に以下をそれぞれ追加します。
インクルード ディレクトリ | C:\opencv\opencv-2.4.13\build\include |
ライブラリ ディレクトリ | C:\opencv\opencv-2.4.13\build\x86\vc14\lib |
Debug構成およびRelease構成でビルドできることを確認します。ソリューションフォルダの下に "Debug" フォルダと "Release" フォルダが出来ているので、dllファイルを "C:\opencv\opencv-2.4.13\build\x86\vc14\bin" よりそれぞれのフォルダにコピーします
コピー先 | コピー元 |
---|---|
ソリューション名/Debug | C:\opencv\opencv-2.4.13\build\x86\vc14\bin\Debug |
ソリューション名/Release | C:\opencv\opencv-2.4.13\build\x86\vc14\bin\Release |
「デバッグの開始」を実行してうまく動けばOKです。
Visual Studio 2015 でOpenCV2.xを使う (第1回)
OpenCV3がリリースされて1年以上経ちますが、使い慣れたOpenCV2.x系を使って開発したいという方もおられることでしょう。
しかし、OpenCV2.x(執筆時点で最新は2.4.13)をダウンロードしてみると、プレビルドされたバイナリとライブラリファイルはvc11(Visual Studio 2012用)とvc12(Visual Studio 2013用)しかありません。
というわけで、Visual Studio 2015でOpenCV2.xを使おうと思うと、自分でバイナリとライブラリファイルをビルドしなければなりません。手順としては以下のようになります。
- Visual Studio 2015用のプロジェクトを作成するために、CMakeをインストールする
- OpenCVをダウンロードする
- CMakeでOpenCVプロジェクトを作る
- Visual Studio でOpenCVプロジェクトをビルドして、バイナリとライブラリファイルを生成する
今回の記事ではCMakeをインストールしてOpenCVのプロジェクトを作成するところまで見ていきたいと思います。
1. CMakeのインストール
CMakeをダウンロードします。CMakeはソースファイルからビルドすることもできるみたいですが、それには古いCMakeが必要になるので新規でCMakeをインストールする場合は大人しくインストーラー(.msiパッケージ)をダウンロードします。
インストーラーをダウンロードしたら、実行してCMakeのインストールを開始します。下図のようなSetup Wizardが出てくるので [Next] をクリックして次へ進みます。
エンドユーザライセンスに一応目を通して、チェックボタンにチェックを入れてから [Next] をクリックして次へ進みます。
インストールオプションを選択します。特に問題がないようなら「Add CMake to the system PATH for all users」を選択して、お好みで「Create CMake Desktop Icon」をチェックします。
前者は全ユーザーに対してCMakeのパスを通すという意味になります。
後者はデスクトップにCMakeのショートカットを作成するということになります。
CMakeのインストール先を指定します。特に問題ないようならDefaultのままでよいでしょう。[Next] をクリックして次へ進みます。
以上でインストールの準備が整ったことになります。[Install] をクリックしてインストールを開始します。(なお、管理者権限が必要になります)
インストールはすぐ終わります。
インストールが完了すると下図のような画面になります。[Finish] をクリックしてインストーラーを終了します。
2. OpenCVのダウンロード
次にOpenCV2.xをダウンロードします。
VERSION 2.4.13 のところで 「OpenCV for Windows」を選択します。
http://opencv.org/downloads.html
ファイル(自己解凍形式)がダウンロードされたら、実行してファイルの中身を展開します。展開先は任意の場所で構いません。
OpenCV用にフォルダを作成します。分かりやすい場所でよいと思いますが、私の場合は C:\opencv としました。作成したフォルダに展開したフォルダを移動させます。このとき、OpenCVのバージョンが分かるようにフォルダ名を変更しておいたほうがよいでしょう。
フォルダ構成としては次のようなります。
C:\opencv └─ opencv-2.4.13 ├─ build ├─ sources ├─ LICENSE.txt └─ README.md.txt
3. OpenCV用プロジェクトの作成
Visual Studio 2015 でビルドするためのOpenCVのプロジェクトをCMakeを使って生成します。
まずはCMakeを起動します。
上方にある「Where is the source code:」の箇所に先に展開して移動させたOpenCVのsourcesのフォルダを指定します。
「Where to build the binaries:」の箇所にはプロジェクトの生成先を指定します。OpenCVのbuildフォルダを指定すると既存ファイルとごちゃごちゃになるので新たなフォルダを切ります。ここではx64用のプロジェクトを作成したかったので "build_x64"という(存在しない)フォルダを指定しています。
上方の2つのパスを入力した後、下方にある [Configure] ボタンをクリックします。buildフォルダが存在しない場合は、下図のようにフォルダを作成するか聞かれるので [Yes] と答えます。
何用のプロジェクトにするか聞かれるので、32bit用の場合は「Visual Studio 14 2015」、64bit用の場合は「Visual Studio 14 2015 Win64」をプルダウンリストから選択します。
「Optional toolset to use」は空白のままで、コンパイラの選択は「Use default native compilers」のままでよいでしょう。
[Finish] をクリックすると Configureが始まります。
Configureしています...
Configureが完了すると、下図の様な画面になります。画面中央にある赤地のところのチェックボックスによってプロジェクトの設定を行なっていくのですが、普段使いならそのままでよいでしょう。
[Configre] のとなりにある [Generate] をクリックすると、Visual Studio用のプロジェクトが生成されます。
Generate が完了すると下図のような画面になります。[Generate] のとなりにある [Open Project] をクリックすると生成されたプロジェクトが Visual Studio 2015 で開かれます。
プロジェクトはbuildフォルダ(今回の場合は C:\opencv\opencv-2.4.13\build_x64)の下に "OpenCV.sln" という名前で生成されています。
OpenCV.sln をビルドして、OpenCVのバイナリとライブラリファイルを生成する話は次回に書きたいと思います。
参考Webページ
秋イベを振り返る。その7
艦これ秋イベント2016の話です。
E4海域で輸送が完了すると、部隊は左から右へと移りいよいよ殲滅作戦の攻略となります。
編成によって道中4戦ルート、5戦ルート、6戦ルートとあるのですが、最も安定していた4戦ルートで攻略を進めました。
いずれにしても道中には、
- 防空カットイン不発で一発退場の航空戦マス
- 艦隊支援も先制攻撃も通用しない潜水艦マス
- 軽量編成では歯が立たないフラルマス
があり、ようやくボスに辿り着けたとしても通常艦隊で連合艦隊(敵)を相手にしなければならなく本イベント屈指の難易度でした。
はじめは難易度甲でやっていたのですが、ラスダン編成になった途端 異次元の難易度に...(ボス随伴艦のWフラヲ改が明らかに無理)
甲種のクリア報酬が試製甲板カタパルトで手に入れたかったのですが、イベント終了期限も迫っていたので乙種に難易度を下げて攻略しました。
キラ付けして道中支援出しても、5戦ルートは決まってRマスのフラヲ改にやられるかSマスのフラルにやられていたので4戦ルートで進行。航空戦マスで事故があったもののキラキラが付いていれば基本的にボスまでは辿り着けました。(甲種の場合は、辿り着けないほうが多かったけど)
編成は高速統一で、戦艦もしくは正規空母は1隻までというシビアさ。
普段はキラ付けは面倒なため「しない派」なのですが、この海域はキラキラなしでは突破不可なんじゃないかと思いました。
Visual Studio 2015 を使ったCLIアプリケーション開発 (第2回)
前回はVisual Studio 2015 Communityをインストールするところまで紹介しました。
今回は、簡単なC++/CLIアプリケーションを作成するところまで紹介したいと思います。
はじめてVisual Studio 2015 Communityを起動すると次のような画面が現れます。アカウントがあったほうがよいのですが、ここではひとまず「後で行う。」をクリックして先に進みます。
好みの配色テーマを選択して、「Visual Studio の開始」をクリックします。
しばらくするとVisual Studioのメイン画面が現れるので、「メニュー」より [ファイル] → [新規作成] → [プロジェクト] を選択します。
どのようなプロジェクトを作るのかと聞かれるので、左方にある [テンプレート] から [Visual C++] → [CLR] を選択。「空のCLRプロジェクト」を選択して、プロジェクトの「名前」を「場所」を適当に入力して「OK」ボタンをクリックする。
空のプロジェクトが作成されたのを確認して、「メニュー」より [プロジェクト] → [新しい項目の追加...] を選択する。
どのような項目を追加するのか聞かれるので、左方より [Visual C++] → [UI] を選択。「Windowsフォーム」を選択して、名前を適当に入力してから [追加] ボタンをクリックする。
ここで入力した名前がクラス名になりますので考えて入力しましょう。(場所に関してはそのままでよいでしょう)
以上で空のプロジェクトに Myform.h と Myform.cpp が追加されますが、下のようなエラーメッセージが表示されるかも知れません。
「データが失われる可能性を防ぐため、デザイナーの読み込み前に以下のエラーを解決する必要があります。」と言われても困りますよね。
これはDebugに自動的に生成されたファイルに不具合があるために起こる現象なのではないかと推察できます。なので、プロジェクトファイル(.vproj)の下にあるDebugフォルダの中身を一度削除します。(フォルダ自体は削除しないこと)
MyForm.h タグを一度閉じて、[ソリューション エクスプローラ] から開きなおすと初期状態のフォームが正しく表示されるようになります。
今回は簡単な C++/CLI アプリケーションを作成するということなので、「HelloWorld」という文字を表示するフォームを作りたいと思います。まずはメニューより [表示] → [ツールボックス] を選択します。
ツールボックスが表示されるので、[コモンコントロール] より [Label] を選択してフォーム上に配置します。
続いて、追加したラベル(今回は "label1" )が選択されていることを確認して右下にある [プロパティ] ウィンドウの Font と Text を編集します。
今回、文字を大きくしたかったのでFontは32ptで、Textは "HelloWorld" としました。
次にプログラムを編集します。[ソリューション エクスプローラ] から MyForm.cpp を選択して、以下のコードを入力します。
#include "MyForm.h" using namespace System; [STAThreadAttribute] int main(void) { HelloWorld::MyForm^ form = gcnew HelloWorld::MyForm(); form->ShowDialog(); return 0; }
続いてプロジェクトのプロパティを変更します。「メニュー」より [プロジェクト] → [HelloWorld のプロパティ...] を選択します。
「プロパティ ページ」が現れるので、左方にある [リンカー] → [システム] を選択し、「サブシステム」に "Windows" を選択します。(プルダウンメニューより選択)
[システム] の下方にある [詳細設定] を選択して、「エントリ ポイント」に main を指定します。(ここは手入力)
以上の2箇所を変更したら [OK] ボタンをクリックして「プロパティ ページ」を閉じます。
ソリューションをビルドして実行すれば、HelloWord と表示されたフォームが現れるはずです。
途中で罠(エラー)がありましたが、これで C++/CLI アプリケーションを作成できるようになりました。めでたし。
参考Webページ