2013/12/04

第一生命の生命保険解約レポート

今まで月1万ぐらいの生命保険に加入していたわけだが、「特約とかやっぱりいらないよね」ということでもっとコンパクトな損害(傷害)保険に乗り換えようと第一生命の生命保険を解約した。この記事では解約に関わる手続きの一連の流れを纏めます。
下記のセリフは実際に行ったやりとりを簡単に意訳したものです。少しあやふやな箇所がありますがご了承をお願いします。
最初に断っておきますが、私は第一生命に関係した職についていないしがないプログラマーです。


2013/10/04

VisualStudio開発環境下でのサードパーティライブラリの管理方法

VisualStudio開発環境下でのサードパーティライブラリの管理方法

開発環境
Microsoft Windows XP SP3
Microsoft Visual Studio 2005

TortoiseSVN 1.7.4 or TortoiseHg 1.2.1


 単純明快に結論を先に書くと、「ソリューションに3rdparty製ライブラリを含めておいて、リビルドしたら一緒にサードパーティライブラリもリビルドする」という方法を紹介します。
 管理方法といっても大した内容ではありませんが。
 複数プロジェクトから同一3rdparty製ライブラリのプロジェクトを参照するためにSVN・Mercurialのいずれかを使用します。
 また、このサイトではWindows向けのGUIクライアントツールであるTortoiseシリーズを使用します。


2013/07/25

vb.netで自前のコントロールを作る方法

なぜかvb.net使いの人で、PictureBoxを改造してなんでもかんでもやろうとする人が多いような気がする。
PictureBoxはその名の通り、写真等のグラフィックの表示に特化して作られているので、入力や特殊な出力するのはオブジェクト志向の継承のコンセプトから外れるので避けるべきなのでは?


2013/01/13

GLEWのスタティックリンク(静的リンク)ライブラリの使用方法

GLEWのソースコードをダウンロードしてスタティックリンク用プロジェクト(glew_static)をビルドすると生成されるglew32s.libをOpenGL使用プロジェクトにリンクさせる場合の使用方法もしくは注意事項の解説。

glew32s.libをリンカで指定しているにもかかわらず、ビルドすると下記のようなエラーがうんたらかんたらと出ます。
error LNK2001:外部シンボル "__imp__glewInit@0" は未解決です

これはGLEWライブラリはDLLの使用を推奨する前提で作成されているためです。具体的にはデフォルトでglew.h内に定義されているifdef分岐はDLL用になっているため、スタティック用の宣言でスイッチさせなければなりません。

解決するには以下の手順を行ってください。

まず、ライブラリファイル名をglew32s.libからglew32.libにリネームします。
別にリネームしなくてもいいですが、サンプルコードを試すときに一々読み替えるのは手間なのでリネームします。

次に、#include <gl/glew.h>を宣言する前に#define GLEW_STATICを定義してください。

[cpp]
#pragma comment(lib, "OpenGL32.lib")
#pragma comment(lib, "glew32.lib")

#define GLEW_STATIC

#include <windows.h>
#include <tchar.h>
#include <gl/glew.h>
[/cpp]

これはソースコードに直接宣言しなくても、プロジェクトプロパティの[構成プロパティ]-[C/C++]-[プリプロセッサ]の「プリプロセッサの定義」やコンパイルコマンド実行時に定義してもいいです。

以上でビルドを行えば完了です。