SlideShare a Scribd company logo
ライブラリ インストール マネージャ 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系のライブラリについて
追加の開発
現在、開発実施中

More Related Content

PDF
ABS2015 のセッション紹介
PPTX
Cake Build
PDF
いろんなCRuby on windows
PDF
JellyBeanのソースをとりあえず眺めてみた(手抜き)
ODP
Yapf2013
PPTX
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
PDF
Visual Studio Codeで始めるTypeScript
ODP
Monomeeting 20081022
ABS2015 のセッション紹介
Cake Build
いろんなCRuby on windows
JellyBeanのソースをとりあえず眺めてみた(手抜き)
Yapf2013
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
Visual Studio Codeで始めるTypeScript
Monomeeting 20081022

What's hot (20)

PDF
LibreOfficeの品質向上活動について
PPTX
jQuery+TypeScriptやってみた
PPTX
.NET Standard で PostgreSql を使ってみた
PDF
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
PPTX
Cocos2d js セットアップ for windows
PDF
PF開発に使えるAOSPのツール達
PDF
Let's make rest server by golang
PDF
自作ゲームをWebpack対応させてみた
PDF
TypeScript と Visual Studio Code
PDF
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
PDF
TypeScript and Visual Studio Code
PDF
20220208 さくらレンサバにlaravelをインストール
PPTX
Docker for connect cms
PDF
SPA×Auth0
PDF
「コンポーネント/アプリケーション開発分離の重要性 ― VCL/FMXとExt JSの類似点の考察から見るその効果」
PDF
Scratchはいいぞ
PDF
Web開発用ツール導入のすすめ
PDF
Excite beer bash06
PPTX
開発環境アンケートまとめ(Ginza.rb 第13回)
PDF
Scratch extension
LibreOfficeの品質向上活動について
jQuery+TypeScriptやってみた
.NET Standard で PostgreSql を使ってみた
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
Cocos2d js セットアップ for windows
PF開発に使えるAOSPのツール達
Let's make rest server by golang
自作ゲームをWebpack対応させてみた
TypeScript と Visual Studio Code
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
TypeScript and Visual Studio Code
20220208 さくらレンサバにlaravelをインストール
Docker for connect cms
SPA×Auth0
「コンポーネント/アプリケーション開発分離の重要性 ― VCL/FMXとExt JSの類似点の考察から見るその効果」
Scratchはいいぞ
Web開発用ツール導入のすすめ
Excite beer bash06
開発環境アンケートまとめ(Ginza.rb 第13回)
Scratch extension
Ad

Similar to ライブラリ インストール マネージャ For Visual C/C++ (20)

PPTX
新しい Visual Studio & .NET と新時代のアーキテクチャ
PDF
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
PDF
App017 power shellの新しい相棒_visual_studio_
PPTX
App017 power shellの新しい相棒_visual_studio
PDF
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
PDF
IBM Rational Team Concertに触れてみた
PPTX
2015 0227 OSC-Spring Tokyo NETMF
PDF
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
PDF
The Twelve-Factor (A|M)pp with C#
PDF
ALMツールたべくらべ
PPTX
今から始める、Windows 10&新.NETへの移行戦略
PDF
Jenkinsstudy#4kokawa
PDF
そろそろレガシーな.Net開発をやめなイカ?
PDF
Windows Server 2019 で Container を使ってみる
PPTX
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
PDF
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PDF
クロスプラットフォーム開発入門
PDF
.NET Coreから概観する.NETのOSSへの取り組み
PPTX
オレたちとVisual Studioとの関係を話そう
新しい Visual Studio & .NET と新時代のアーキテクチャ
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
IBM Rational Team Concertに触れてみた
2015 0227 OSC-Spring Tokyo NETMF
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
The Twelve-Factor (A|M)pp with C#
ALMツールたべくらべ
今から始める、Windows 10&新.NETへの移行戦略
Jenkinsstudy#4kokawa
そろそろレガシーな.Net開発をやめなイカ?
Windows Server 2019 で Container を使ってみる
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
クロスプラットフォーム開発入門
.NET Coreから概観する.NETのOSSへの取り組み
オレたちとVisual Studioとの関係を話そう
Ad

More from Hiroshi Miura (20)

ODP
Wireless display-on-linux
ODP
圧縮・伸張・アーカイブサポートの現状と課題
PDF
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
ODP
Libreoffice and translation
PDF
Starting OpenStreetMap Japan 2008 in SotM2008
PDF
Iwfst 2005.Position Paper
PDF
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
PDF
Sinsai.info, CrisisMap and the next
PDF
Sinsai.info Symposium: OSM now
PDF
日本国際地図学会 20110808 震災とジオメディア 
PDF
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
PDF
unihandecode: An Unicode transliteration library
PDF
SotM2011 crisis mapping and sinsai.info
PDF
Building production server on docker
PDF
How GNSS changes mapping?
PDF
Osm how to_mapping_2014
PDF
How to mapping_hondout
PDF
"Up" with vagrant and docker
PDF
webdb forum_sinsai
PDF
Japan OSS promotion Forum symposium - Neaoss wg2 activity
Wireless display-on-linux
圧縮・伸張・アーカイブサポートの現状と課題
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Libreoffice and translation
Starting OpenStreetMap Japan 2008 in SotM2008
Iwfst 2005.Position Paper
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Sinsai.info, CrisisMap and the next
Sinsai.info Symposium: OSM now
日本国際地図学会 20110808 震災とジオメディア 
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
unihandecode: An Unicode transliteration library
SotM2011 crisis mapping and sinsai.info
Building production server on docker
How GNSS changes mapping?
Osm how to_mapping_2014
How to mapping_hondout
"Up" with vagrant and docker
webdb forum_sinsai
Japan OSS promotion Forum symposium - Neaoss wg2 activity

ライブラリ インストール マネージャ 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 tool to 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系のライブラリについて 追加の開発 現在、開発実施中