Visual Studio .NET 2003 環境におけるコンパイル手順は「パッケージ展開後に vxv_tools-2.X.X/vc/ フォルダ以下にある vxv2.vcproj ファイルをダブルクリックして Visual Studio .NET 2003 を起動し、起動後、F5 を押してコンパイル」です。
コンパイルが成功すると、
というフォルダが生成されます。プログラムのコンパイルに必要なのは、 Debug/vxv2.lib というファイルと include/ フォルダ中の *.h です
ライブラリが動作するか、サンプルプログラムをコンパイルし、実行することで確認します。
今回は、なるべくシンプルに。ということで、Visual Studio .NET 2003 の「プロジェクトの新規作成」にて 「Visual C++ プロジェクト」中の「 Win32 コンソール プロジェクト」を選択します。
プロジェクト名は followLine とし、「アプリケーションの設定」のときに「空のプロジェクト」を選択します。
ソースプログラムとしては, vxv_tools-2.X.X/example/runCtrl/cpp/followLine.cpp を使いましょう。「既存項目の取り込み」等でプロジェクトに cpp ファイルを追加して下さい。
ここで、vxv2 のライブラリを使用するため、コンパイル時に vxv2.lib と include/ を利用するようにプロジェクト設定を更新します。その場合の「プロジェクト」->「followLine のプロパティ」の設定を更新する箇所は以下の2つです。
- include/ を追加インクルードパスに指定
- vxv2.lib を追加の依存ファイルに指定
以下に、先のライブラリのコンパイル時に生成された vxv2.lib と include を followLine プロジェクトの1つ上のフォルダにコピーした場合の設定画面を示します。
追加インクルードパスを指定
追加の依存ファイルを指定
上記の設定を行うことにより、プログラムのコンパイルが確認できます。
実行は、コマンドプロンプトを行うのが良いでしょう。例えば、COM3 に走行制御デバイスが接続されている場合のプログラムの実行画面を以下に示します。(MinGW, Cygwin のプロンプトが使えれば、その方が便利ですが...)
モニタ機能を利用したい場合は, SDL ライブラリが必要になります。今回は、
SDL_win32.zip(各 SDL の開発パッケージをまとめたもの) を使うとします。以下の例では、SDL_win32.zip と vxv_tools-2.X.X.lzh が同じフォルダに展開されているとします。
- vxv_tools-2.X.X/vc/config.h の変更 config.h では、何のライブラリが利用可能かのマクロ宣言が行われています。モニタ環境を使うのであれば、HAVE_LIBSDL, HAVE_LIBSDL_NET, HAVE_LIBSDL_TTF のマクロ宣言をコメントアウトします。
#define HAVE_LIBSDL 1
#define HAVE_LIBSDL_NET 1
#define HAVE_LIBSDL_TTF 1
- vxv2_monitor.vcproj から Visual Studio .NET 2003 の起動 vxv_tools-2.X.X/vc/vxv2_monitor.vcproj を選択し、Visual Studio .NET 2003 を起動します。
- プロジェクト設定の変更 「プロジェクト」->「vxv2 のプロパティ」を選択し、
- C/C++
- 「コード生成」のランタイムライブラリを「マルチスレッド DLL (/MD)」に変更
- 「全般」の、追加のインクルードディレクトリに ..\..\SDL_win32\include を追加
- F5 キーを押して、ライブラリを構築する
ライブラリの構築が成功すれば、vxv_tools-2.X.X/vc/ 以下に、include/, Debug/ というフォルダが生成されます。このライブラリを利用するときには、vxv2 の include/, Debug/vxv2_monitor.lib が必要になり、同時に SDL_win32 の include, lib/ を使うための設定をプロジェクトに対して行う必要があります。
また、exe ファイルのあるフォルダに、SDL.dll, SDL_net.dll, SDL_ttf.dll の配置も必要になります。(\WINDOWS\system32 への配置で代用可能)
基本的なプログラムの作り方は、SDL, モニタがない場合と同じです。異なるのは、
- 「マルチスレッド DLL」を用いる
- vxv2 と SDL 各々の include を「追加のインクルードパス」に追加する
- 例) ..\vxv_tools-2.0.3\vc\include; ..\SDL_win32\include
- vxv2 と SDL 各々の lib を「追加の依存ファイル」に追加する
- 例) SDLmain.lib SDL.lib SDL_net.lib SDL_ttf.lib vxv2.lib (「追加のライブラリ ディレクトリ」の設定と併用すると良い)
くらいです。