Show page source of libpack #113318

=  お気に入りのライブラリをVisualStudioで1つのdllにまとめた
== 概要
色々なオープンソースのライブラリを使ってアプリケーションを作ると、ライブラリのdllの数が多くなってきたり、依存関係がややこしくなったりと、メンテナンスが色々大変になってきます。

お気に入りのライブラリをストレスフリーで扱えるように、ライブラリのソースをすべて1つのVCプロジェクトにまとめてみました。

配布物の中にあるVCプロジェクトをビルドすると、全部のライブラリが含まれる1つのdllが出力されます。
このdllにリンクするようにアプリケーションをビルドすれば、ファイル構成がかなりスッキリしますし、Debug/Releaseの切り替えも容易になります。
また、Tcl/Tk については、 実行時に必要な /lib 下のファイルをまとめた tcl_rt.tar も入れてあります。 一緒に入れてある sample.cpp のようにコーディングすれば、 tcl_rt.tar をそのままランタイムライブラリとして使えるようになっていると思います。多分。

dllのサイズは、大体10MB くらいです。 tcl_rt.tar が約 5MB なので、依存ライブラリのサイズは合わせて 15MB くらいとなります。
== ライブラリ一覧
 * zlib 1.2.11
 * libtiff 3.9.4
 * libpng 1.5.1
 * jpeglib 8.3
 * libharu 2.3.0
 * CxImage 7.02
 * sqlite 3.21.0
 * Tcl/Tk 8.6.8 (itcl, thread, sqlite, vfs, memchan, blt 2.5, Tkhtml 3.0a 拡張付き)
 * TTW
 * OpenNurbs (2013/07/11版)

== このライブラリでできること
 * png/tiff/jpeg 画像生成、読み込み (libtiff、libpng、jpeglib、CxImage)
 * pdf 生成 (libharu)
 * ファイルベースのRDB処理 (sqlite)
 * Object型によるデータ処理 (Tcl_Obj)
 * Tcl 言語処理 (Tcl)
 * json 入出力 (TTW_json~ 系関数 (janssonベース))
 * 多倍長整数の演算 (TclBN_~ 系関数 (libtommathベース))
 * 文字コード変換 (TTW_DString)
 * tar ファイル内のファイルへのアクセス (Tcl_FN~系関数)
 * ウィンドウベースのGUI (Tk)
 * グラフ描画 (BLT)
 * HTML表示 (TkHtml)
 * 3dm ファイルの入出力 (OpenNurbs)
 * 簡単な幾何形状処理 (OpenNurbs)

== 変更履歴
 * 2019/01/28 : 初版

== ダウンロード
* [/downloads/users/23/23621/OSSLibs.zip 配布物]

== 関連情報
 * [https://pocoproject.org/ POCO]
  C++ で色々なことができるようになるライブラリ。・・・これを使っておいたほうが楽だったのかもしれない・・・。触ったことはないですが(汗。