VC++ 2010 の環境設定

Visual Studio 2010 も出たと言うことで,久々に Windows (VC++ 2010) でも CLX C++ Librariesコンパイルテストを通して行ったのですが(通常時は,zlib,OpenSSL 辺りのライブラリが必要なものは cygwin 上でしか確認してなかった),環境設定のメモがどこにもない事に気づきました.なので,CLX C++ Libraries の全ライブラリを VC++ 2010 で使用するための環境設定のメモを残しておきます.

尚,下記で環境変数を設定していますが,これは主にコマンドラインから VC++ コンパイラ (cl.exe) を使うためにの設定です.プロジェクトを作成して IDE 経由でビルドを行う場合は,環境変数に設定する代わりに各プロジェクトのプロパティで設定する事もできます.

VC++ 2010 をコマンドラインから使用する

詳細は,コマンドラインから VC++ のコンパイラ (cl.exe) を使用する - Life like a clown を参照して下さい.Visual Studio 2010 の Common7\Tools\vsvars32.bat が複雑な記述になってコピペでは終わらなくなっていたので,設定する環境変数のみ以下に記述しておきます.

尚,これは Windows x86 の場合です.Windows x64 の場合は恐らく Program Files が Program Files (x86) に代わるかと思います.

PATH=C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 10.0\VC\VCPackages;
INCLUDE=C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE;
LIB=C:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;
LIBPATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;

zlib

zlib が必要なライブラリは以下の3つです.

zlibWindows 版ライブラリは Zlib for Windows から取得できます(自前でビルドしても良いですが).ダウンロードするパッケージは,"Complete package, except sources" を選択します.ダウンロードしたパッケージを適当なディレクトリにインストールした後,環境変数を修正します.例えば,Program Files\zlib にインストールした場合,追加する環境変数は以下のようになります.

PATH=C:\Program Files\zlib\bin;
INCLUDE=C:\Program Files\zlib\include;
LIB=C:\Program Files\zlib\lib;

この設定で zlib 使用したプログラムをコンパイルしてみたのですが,unistd.h が見つかりませんと言うエラーが発生しました.このエラーが発生した場合,Windows(VC++)でunistd.h - 萌えの値段 で公開されているソースコードを unistd.h と言う名前で zlib\include 辺りに保存します.

尚,上記の unistd.h を使ってコンパイルを行うと警告が1件発生しました(VC++ 2010 の cl.exe, /W3 オプション).警告を消すためには,unistd.h の 105行目を以下のように修正します(括弧を付与).

ft.dwHighDateTime = (DWORD)(ll >> 32);

OpenSSL

OpenSSL が必要なライブラリは以下の6つです.

OpenSSLWindows 版ライブラリは Shining Light Productions - Win32 OpenSSL から取得することができます.ダウンロードするパッケージは "Win32 OpenSSL v1.0.0" です(32bit 版の場合)."Win32 OpenSSL v1.0.0 Light" にはヘッダファイルが付属していないので,Light と付いていないパッケージをダウンロードします.また,場合によっては "Win32 OpenSSL v1.0.0 Light" も必要なようです.

ダウンロードしたパッケージを適当なディレクトリにインストールした後,環境変数を修正します.例えば,Program Files\openssl にインストールした場合,追加する環境変数は以下のようになります.

PATH=C:\Program Files\openssl\bin;
INCLUDE=C:\Program Files\openssl\include;
LIB=C:\Program Files\openssl\lib;

尚,VC++コンパイルする場合は #pragma ディレクティブを使ってソースコード上でリンク指定を記述しているので,コマンドラインでリンクするライブラリを指定する必要はありません.