目的
POCO 1.6.0 (OpenSSL に依存した機能込み)の x86, x64 向け DLL をビルドする。
ビルドしたいものは
- POCO x86 マルチスレッド DLL
- POCO x86 マルチスレッドデバッグ DLL
- POCO x64 マルチスレッド DLL
- POCO x64 マルチスレッドデバッグ DLL
準備
OpenSLL 1.0.2 を x86, x64 どちらも(スタティックライブラリは不要のため、DLL およびそのインポートライブラリを)ビルドしておく。
また、それぞれ、D:/Libraries/openssl-1.0.2-x86
と D:/Libraries/openssl-1.0.2-x64
にインストールしたものとする。
POCO のビルド
x64 版
- VC++ 12 の x64 ツールセットにパスが通ったコマンドプロンプトを開いて、poco-1.6.0-all.zip を展開したディレクトリに移動。
-
components
というテキストファイルを編集し、不要なコンポーネントを削除。ここではData/MySQL
という行のみ削除した。 -
buildwin.cmd
を編集して OpenSSL のディレクトリを適切に指定する:
set OPENSSL_DIR=D:\Libraries\openssl-1.0.2-x64
- x64 の DLL をビルドするには次のようにしてバッチを起動:
> buildwin.cmd 120 build shared both x64
- x64 の DLL は
bin64
以下に、インポートライブラリはlib64
以下に生成されている。
x86 版
- 基本的には同様の手順に従う。
- まず、
buildwin.cmd
を編集して OpenSSL のディレクトリを指定する。
set OPENSSL_DIR=D:\Libraries\openssl-1.0.2-x86
- x86 の VC++ ツールセットにパスが通った状態で
> buildwin.cmd 120 build shared both Win32
- x86 の DLL は
bin
以下に、インポートライブラリはlib
以下に生成されている。
備考
そもそも OpenSSL の x86 と x64 を一つのフォルダにインストールしておく等の改良も可能かもしれないが、普段は C++ で開発しておらず、一時的に OpenSSL と POCO のビルドを通すのが目的だったため、少々泥臭くても気にしないことにした。