C++開発ことはじめ
急ぎのメモ
JUCEフレームワークをベースに別のライブラリを利用する
Boost.asioを使う
手動でやるとリンク設定などがめんどくさそう
Windows 用のC++パッケージマネージャー
code:git
bootstrap-vcpkg.batを実行して.exeを得る
VisualStudioのコマンドプロンプトで以下を実行
cdでvcpkg.exeのあるフォルダに移動して実行するか、あるいは環境変数設定をしてやればどこからでも実行してOK
code:vcpkg
vcpkg integrate install
この vcpkg ルートにユーザー全体の統合を適用しました。
CMake プロジェクトでは次を使用する必要があります: "-DCMAKE_TOOLCHAIN_FILE=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/vcpkg/scripts/buildsystems/vcpkg.cmake"
すべての MSBuild C++ プロジェクトで、インストールされているすべてのライブラリの #include を実行できるようになりました。リンクは自動的に処理されます。新しいライブラリをインストールすると、すぐに利用できるようになります。 vcpkg.jsonをルートディレクトリに作成・配置する
code:vcpkg.json
{
"name": "osc2serial",
"version-string": "1.0.0",
"dependencies": [
"boost-asio"
],
"builtin-baseline": "b02e341c927f16d991edbd915d8ea43eac52096c"
}
「マニフェストモード」(vcpkgのプロジェクトごとの依存管理)においてはjsonにインストールするものを書き込む必要がある
builtin-baselineにはGitHubからクローンしたときのリポジトリのコミットハッシュ値を使う
ハッシュ確認方法
クローンしたディレクトリに移動する(cd)
code:git
git rev-parse HEAD
その後で
code:vcpkg
vcpkg install
を行う
任意で vcpkg install --triplet x64-windows-static
などとtriplet(動的リンクdll or 静的リンク)を指定できる
vcpkgでインストールしたあとそのインストールフォルダをprojucerで指定する必要がある
<インクルードフォルダの指定>
projucer > Exporters > Visual Studio2022 > Debug / Release > Header Search Paths
にインストールフォルダをパス指定する
code:path
....\OSC2Serial(プロジェクト名)\vcpkg_installed\x64-windows-static\include
<ライブラリフォルダの指定>
projucer > Exporters > Visual Studio2022 > Debug / Release > Extra Library Search Paths
にインストールフォルダをパス指定する
code:path
....\OSC2Serial(プロジェクト名)\vcpkg_installed\x64-windows-static\lib
※自分の場合はvcpkgのtripletで静的リンク指定でインストールしたためx64-windows-staticフォルダにある
※projucer側で指定せずVisual Studio側で指定する場合、プロジェクト>右クリックでプロパティ>C/C++ > 追加のインクルードディレクトリ、プロパティ>リンカー>追加のライブラリディレクトリでパスを指定すればいい
---------------------------
Visual Studio
→新規プロジェクト(コンソールテンプレート)
→Githubからクローン(コマンドプロンプト)
→クローンしたファイルをビルドしてライブラリ化する
(プロジェクトで使うために)
→Visual Studio 内蔵のCMakeを使う
VSのバージョン:Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.13.0
クローンしたファイルのディレクトリにいってbuildファイルを作成し(cd → mkdir build)
cmake -G "Visual Studio 17 2022" ..
を実行
→oscpack の CMakeLists.txt に従って Visual Studio のソリューション (.sln) ファイルが生成される
(クローンしたファイルにCMake.txtがなければ作らねばならない…?めんどくさい…)
そのソリューションファイルをALL BUILD
できた.libファイル(.cppの代わり)とヘッダーファイル(.h)を使いたいプロジェクトのプロパティで指定してあげる必要がある
プロジェクトのプロパティ(プロジェクト名を右クリック)から
c/c++ > 追加のインクルードディレクトリ
$(SolutionDir)oscpack
リンカー
$(SolutionDir)oscpack\build\Debug
入力>追加の依存ファイル
;oscpack.lib
GUI作成