ライブラリ インストール マネージャ For Visual
C/C++
らぐ小江戸 発表資料
2018 年 3 月 10 日
OpenStreetMap Foundation Japan
Hiroshi Miura
2
Windows での OSS 導入
Microsoft Windows で OSS を導入したい
方法 OSSの種類 例
単品アプリケーションのイ
ンストーラー
デスクトップ アプリ GIMP
ツールキットインストー
ラー
開発ツール群 Cygwin msys2
アプリケーションのコレク
ションインストーラー
ユーティリティやデスク
トップアプリ、依存するラ
イブラリ
OSGEO4W
3
Windows の C++ の課題
● C++ には標準化されたパッケージマネージャがない
● JavaのMavenCentralやPythonのPyPiに相当するものがないのでつらい
● ビルドシステムがライブラリごとにバラバラ
● Automake/Autoconf, GNU Make, CMake, SCONS, XCode, Visual Studio, NMake ...
● 依存ライブラリもばらばら
● Go言語のgo getや Pythonのpip install したい
4
Windows での OSS 導入の問題
アプリやライブラリ開発のための依存 OSS の導入
開発環境 方法 問題
Cygwinやmsys2/mingw cygwinやmsys2のインストー
ラー
パッケージが無い場合は、
ソースからビルドが必要
Visual Studio C/C++ ●ソースから一つ一つビルド ●OSSの最新版が存在しない
●手間が半端ない
Visual Studio .NET NuGET .net ライブラリをパッケージ
導入可能
5
Vcpkg - Windows のパッケージ管理基盤 OSS
Microsoft の MIT ライセンスの OSS プロジェクト
パッケージをインストールできる
> git clone https://github.com/Microsoft/vcpkg
> cd vcpkg
> .vcpkg_bootstrap.bat
> .vcpkg.exe install zlib:x64-windows
6
Vcpkg: a tool to acquire and build C++ open source
libraries on Windows
7
Vcpkg – じつは Windows の ports 相当
インストールを指定すると、ソースファイルをプロジェクトからダ
ウンロードして Visual C++ でビルドが始まる。
Ports: BSD ベースのオペレーティングシステムでソフトウェアの
インストールやバイナリパッケージ作成する方法
vcpkg プロジェクトには、 ports フォルダーがあり各ソフトウエ
アのインストール方法が入っている
Qt など、依存ライブラリが大量にあるプロジェクトは 5 時間とか
かかる
8
デモ
Azure で Windows を利用します。
<小ネタ>
MSDN Subscription 改め、 Visual Studio Subscription を 1 年
6 万円弱で購入すると、毎月$ 50 相当の Azure クーポン
と、 Azure で Windows 10 Enterprise と VS Enterprise が使え
る
→ わたしは無料枠( 1 年または 22000 円)の範囲内で利用中
9
Vcpkg - 貢献しました
ターゲット 貢献内容 備考
kealib GIS系のライブラリの一つに
ついて、追加提案
CMakeのビルドスクリプトの
修正を含む
hdf5 GIS系のライブラリの一つに
ついて、修正提案
依存ライブラリ指定のバグを
修正
szip 圧縮ライブラリの修正提案 他のプログラムからインス
トール状態が誤って検出され
る
freexl, spatialite, readosm ダウンロードURLが変わった
のを修正提案
PR #2879, #2880, #2881,
#2882
Vcpkg core AppVeyorでの自動CIの提案 現在、提案実施中
PR #2877
libgeotiff GIS系のライブラリについて
追加提案
PR #2784, #2831
rasterlite2 GIS系のライブラリについて
追加の開発
現在、開発実施中
9
Vcpkg - 貢献しました
ターゲット 貢献内容 備考
kealib GIS系のライブラリの一つに
ついて、追加提案
CMakeのビルドスクリプトの
修正を含む
hdf5 GIS系のライブラリの一つに
ついて、修正提案
依存ライブラリ指定のバグを
修正
szip 圧縮ライブラリの修正提案 他のプログラムからインス
トール状態が誤って検出され
る
freexl, spatialite, readosm ダウンロードURLが変わった
のを修正提案
PR #2879, #2880, #2881,
#2882
Vcpkg core AppVeyorでの自動CIの提案 現在、提案実施中
PR #2877
libgeotiff GIS系のライブラリについて
追加提案
PR #2784, #2831
rasterlite2 GIS系のライブラリについて
追加の開発
現在、開発実施中

ライブラリ インストール マネージャ For Visual C/C++

  • 1.
    ライブラリ インストール マネージャFor Visual C/C++ らぐ小江戸 発表資料 2018 年 3 月 10 日 OpenStreetMap Foundation Japan Hiroshi Miura
  • 2.
    2 Windows での OSS導入 Microsoft Windows で OSS を導入したい 方法 OSSの種類 例 単品アプリケーションのイ ンストーラー デスクトップ アプリ GIMP ツールキットインストー ラー 開発ツール群 Cygwin msys2 アプリケーションのコレク ションインストーラー ユーティリティやデスク トップアプリ、依存するラ イブラリ OSGEO4W
  • 3.
    3 Windows の C++の課題 ● C++ には標準化されたパッケージマネージャがない ● JavaのMavenCentralやPythonのPyPiに相当するものがないのでつらい ● ビルドシステムがライブラリごとにバラバラ ● Automake/Autoconf, GNU Make, CMake, SCONS, XCode, Visual Studio, NMake ... ● 依存ライブラリもばらばら ● Go言語のgo getや Pythonのpip install したい
  • 4.
    4 Windows での OSS導入の問題 アプリやライブラリ開発のための依存 OSS の導入 開発環境 方法 問題 Cygwinやmsys2/mingw cygwinやmsys2のインストー ラー パッケージが無い場合は、 ソースからビルドが必要 Visual Studio C/C++ ●ソースから一つ一つビルド ●OSSの最新版が存在しない ●手間が半端ない Visual Studio .NET NuGET .net ライブラリをパッケージ 導入可能
  • 5.
    5 Vcpkg - Windowsのパッケージ管理基盤 OSS Microsoft の MIT ライセンスの OSS プロジェクト パッケージをインストールできる > git clone https://github.com/Microsoft/vcpkg > cd vcpkg > .vcpkg_bootstrap.bat > .vcpkg.exe install zlib:x64-windows
  • 6.
    6 Vcpkg: a toolto acquire and build C++ open source libraries on Windows
  • 7.
    7 Vcpkg – じつはWindows の ports 相当 インストールを指定すると、ソースファイルをプロジェクトからダ ウンロードして Visual C++ でビルドが始まる。 Ports: BSD ベースのオペレーティングシステムでソフトウェアの インストールやバイナリパッケージ作成する方法 vcpkg プロジェクトには、 ports フォルダーがあり各ソフトウエ アのインストール方法が入っている Qt など、依存ライブラリが大量にあるプロジェクトは 5 時間とか かかる
  • 8.
    8 デモ Azure で Windowsを利用します。 <小ネタ> MSDN Subscription 改め、 Visual Studio Subscription を 1 年 6 万円弱で購入すると、毎月$ 50 相当の Azure クーポン と、 Azure で Windows 10 Enterprise と VS Enterprise が使え る → わたしは無料枠( 1 年または 22000 円)の範囲内で利用中
  • 9.
    9 Vcpkg - 貢献しました ターゲット貢献内容 備考 kealib GIS系のライブラリの一つに ついて、追加提案 CMakeのビルドスクリプトの 修正を含む hdf5 GIS系のライブラリの一つに ついて、修正提案 依存ライブラリ指定のバグを 修正 szip 圧縮ライブラリの修正提案 他のプログラムからインス トール状態が誤って検出され る freexl, spatialite, readosm ダウンロードURLが変わった のを修正提案 PR #2879, #2880, #2881, #2882 Vcpkg core AppVeyorでの自動CIの提案 現在、提案実施中 PR #2877 libgeotiff GIS系のライブラリについて 追加提案 PR #2784, #2831 rasterlite2 GIS系のライブラリについて 追加の開発 現在、開発実施中
  • 10.
    9 Vcpkg - 貢献しました ターゲット貢献内容 備考 kealib GIS系のライブラリの一つに ついて、追加提案 CMakeのビルドスクリプトの 修正を含む hdf5 GIS系のライブラリの一つに ついて、修正提案 依存ライブラリ指定のバグを 修正 szip 圧縮ライブラリの修正提案 他のプログラムからインス トール状態が誤って検出され る freexl, spatialite, readosm ダウンロードURLが変わった のを修正提案 PR #2879, #2880, #2881, #2882 Vcpkg core AppVeyorでの自動CIの提案 現在、提案実施中 PR #2877 libgeotiff GIS系のライブラリについて 追加提案 PR #2784, #2831 rasterlite2 GIS系のライブラリについて 追加の開発 現在、開発実施中