VSD for GPSをビルドする手順を解説!

アプリ
スポンサーリンク

こん○○は、よふかしわーくすのよふかしさんです

よふかしさんはAviUtlのプラグインであるVSD for GPSを動画編集で使うことがあります
JavaScriptのスキンを編集して自由にデザインして合成できるのも面白いですね

ドライブレコーダーの動画ファイルからGPSデータを抜き出して動画編集する(2) 作製編
でも書いたのですが、
X(旧Twitter)では2017年時点で開発終了?
ということでGitHubにてソースコードが公開されました

という訳で、ありがたくコードをげっとんしつつ
自身でもビルドできる様に環境を構築しようとしたところ
結構つまづくポイントが多かったので、成功事例を記録しておきます

公式では下記の様に記載されているので、この流れに沿ってやっていきたいと思います


スポンサーリンク

開発環境の構築と初期設定

ソースコードの取得やビルドに必要なツールを順にインストール、セッティングしていきます

Gitを使用してソースコードを取得する

GitHubのVSD for GPSのページにアクセス
緑のCodeをクリックするとDownload ZIP、というメニューが出てくるので、そこからDLできますが
このやり方だと、後々不足ファイルがたくさん出てきて苦労します…

なので、Git for Windowsを使用してcloneします
Git for windowsは下記からDLします
今回は、64-bit Git for Windows Setup、をDLします

Git - Downloading Package

インストールしたら、下記コマンドでソースコードを取得します
今回はC:\tempに展開して進めます

cd /d C:\temp
git clone --recursive https://github.com/yoshinrt/vsd


こんな感じ


Microsoft Visual Studio Community 2022のインストール

公式ではMicrosoft Visual Studio Community 2019を入れよ、とのことですが
2025年3月現在ではDLページが見つからなかったので
Microsoft Visual Studio Community 2022を入れていきます
下記にアクセスしてダウンロードをクリックします

Visual Studio 2022 コミュニティ エディション – 最新の無料バージョンをダウンロードする
Windows、Android、および iOS 用の最新の開発者アプリを作成するための、無料で完全に機能した拡張可能な IDE をお試しください。 コミュニティを今すぐ無料でダウンロードします。

DLされた、VisualStudioSetup.exe、を起動して進めていきます
VSD for GPSはC++なので、C++によるデスクトップ開発
にチェックを入れてインストールします


Cygwinのインストール

コンパイルのためにCygwinが必要とのことで、下記ページからDLします
setup-x86_64.exeをDLします

Cygwin

DLした、setup-x86_64.exe、を実行します
次へ

次へ

次へ

必要に応じてフォルダを変更して次へ

次へ

どれかを選択して次へ

インストールするPackageを選択します
公式では、
cygwin (make, bash, perl, git, zip, tar, bzip2, etc…)
が必要っぽく書かれているので、一応それらは入れていきたいと思います
(etc…が気になりますが、結論としては上記が入っていればエラーは発生しません)

View、のプルダウンメニューで、Full、を選択
Searchのところに上記パッケージ名をそれぞれ入力、インストールするバージョンを選択していきます

例えば、make、の場合
Searchして出てきた画面を下にスクロール
makeを見つけて、Newの部分を、Skip→4.4.1-2(最新)に変更します
この作業を、各パッケージに対して実施していき、完了したら次へ
(ちなみに、make、perl、git、zipは、デフォルトではSkipになっていました)

次へ

単体で使用することはないので、このチェックはOFFしても問題ないです


Google V8 ライブラリのインストール

公式ページに記載のリンクを叩くと404になってしまいます…

リンクを見ると、こうなってます
https://github.com/yoshinrt/vsd/releases/download/release_r986/v8_lib_ReleaseMT.tbz

r986でビルドされているパッケージが添付されているっぽいですが、直リンクでアクセスできません…
ということでリリースページに行きます

Releases · yoshinrt/vsd
VSD - 車載データロガープロジェクト. Contribute to yoshinrt/vsd development by creating an account on GitHub.

r986 リリースのところまでスクロールします

下の、Assets、をクリックするとDLできるファイルが現れるので
v8_lib_ReleaseMT.tbz、をDLします

tgzはwindows標準ツールでは展開できないので、7-zip等を使用して展開します
展開すると、v8_lib_ReleaseMT.tar、というファイルが出てくるのでこれも展開します

そうすると、include、ReleaseMTというフォルダが作成されるので
C:\temp\vsd\vsd_filter\v8_lib
にコピーします
こんな感じ

V8ライブラリはソースコードが開示されているので自身でコンパイルしてもいいのですが
結構設定も大変だし時間も掛かるしなので
ライブラリとして使いたいだけといった今回のような場合は
ありがたくビルド済みのものをげっとんしてくるのが吉です


いよいよビルドしていく

Visual Studio 2022を開いて、プロジェクトやソリューションを開く、を選択

C:\temp\vsd\vsd_filter、にある、vsd_filter.slnを選択

VS2019→VS2022になるので、アップグレードを求められますが、OK

開くと、なんかたくさんごちゃぁとした画面が出てきます…

新規機能のウィンドウを閉じる
表示→ソリューションエクスプローラを表示
Debug→ReleaseMT、に変更

Ctrl+Shift+B(ソリューションのビルド)を実行します
次はこんな感じのエラーが発生します

ScriptIF.h、rev_num.hはストレージ内を探しても見つからないです
これは公式でも記述があるんですが、Cygwinが正しく動作していないというのが理由です

ビルド時に ScriptIF.h, rev_num.h がないと怒られるときは,cygwin の実行に失敗しています.こちらからダウンロードできます.

上記の通りに書かれてはいるのですが
こちら、となっている、AppVeyorさんにアクセスするとDLファイルがなく??になると思います…

Historyを辿っていくと、Cygwinに言及した部分は確認できます

な ん で す が
AppVeyorさんから1か月で消してんす、って表示されてDLできません…

なので、自身の環境でちゃんとCygwinさんで作られるようにするのが最善です
どうやればいいのかなぁと調べた結果、わかりました

Cygwinが環境変数にパス登録されていないのが原因でした

という訳で
C:\cygwin64\bin
を環境変数に登録して、PCを再起動します

でもまだエラーが発生します
VS2019→VS2022化の設定が不足しています
というか、初回起動時に変更した設定を保存せずに閉じてしまった様です…

ソリューションエクスプローラーで、ソリューション’vsd_filter’、を右クリック
ソリューションの再ターゲット、を選択

OK

これでビルドを実行すると…

正常に完了しました!!!!1


AviUtlで読み込めるauf拡張子に変更

現状の設定でビルドすると

vsd_filter\ReleaseMT\vsd_filter.dll
vsd_filter_avs\ReleaseMT\vsd_filter_avs.dll

が生成されますが、AviUtlでは、.aufという拡張子で読み込みされます
具体的には、vsd_filter.dll→vsd_filter_gps.auf
と変更しないといけないです
Visual Studioでこのファイル名・拡張子で、自動生成されるように設定を変更してみます

但し、この後に解説する、release.batを実行してインストーラを作成する場合、
この作業をすると怒られるので注意してください
両方の運用をしたい場合は、
ビルド後に自作のバッチ等を自動で叩いてコピー&リネームするのがよさそうです

ソリューションエクスプローラーで、vsd_filterを右クリック、プロパティ
構成プロパティ→全般→ターゲット名、vsd_filter_gps、に変更

構成プロパティ→詳細→詳細プロパティ→ターゲットファイルの拡張子、.auf、に変更

これで完了です
生成された、vsd_filter_gps.auf、vsd_filter_avs.dllを
AviUtlのexeのあるパスにブチ込めばOKです


インストーラの作成

release.batを実行してインストーラを作成してみます

cd /d c:\temp\vsd\vsd_filter
release.bat

すると、パスが見つからないと怒られます
今回はVisual Studio 2022を使っているのでパス変更が必要です

release.batをエディタで開いて編集します
ついでに、cygwinのパスも今回は64bitを入れて異なっているので修正します

rem call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat"

rem set path=c:\cygwin\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\ProgramData\chocolatey\lib\zip\tools;%PATH%
set path=c:\cygwin64\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\ProgramData\chocolatey\lib\zip\tools;%PATH%

rem if not exist c:\cygwin exit /b 0
if not exist c:\cygwin64 exit /b 0

次はlibがないって怒られます

これをどううまく解決するのがいいのかなぁと悩んだのですが…
projファイルのリンカでパスを変更することで対応しました

ソリューションエクスプローラーの、vsd_filter、を右クリック→プロパティ
構成プロパティ→リンカー→入力→追加の依存ファイル、
ここの色々書いてあるところを一旦クリックするとプルダウンメニューが出てくるので
<編集…>、を選択

$(IntDir)、を、ReleaseMT、に書き換えます
zlibの部分だけでなく、v8_libの部分も同様に書き換えます

こんな感じ

忘れずに.vcxprojを保存します
同様にして、vsd_filter_avsのprojも変更して保存します

再度、release.batを実行します

一旦、pauseで止まるので、その際に、
C:\temp\vsd\vsd_filter\zrelease\VSD_installer.hta、が生成されれば成功です
このpauseを過ぎると、バッチファイルから消されてしまいますが、
最終的には、vsd_filter_gps_r****.exe、といったファイルに同梱されます
デバッグ等で.htaが必要な場合は手動で取り出すか、コード変更してファイルを移動するなりを実施しましょう


終わりに

開発終了と宣言があってオープンソースとなった、VSD for GPSのビルド手順を解説しました
もし何かの拍子に変更したいとなったときは、この開発環境を活用できるかと思います

GitHubを見ると最近でも細々と(?)更新されている様なので、今後の開発にも期待したいところです

C++はあまりなじみがないのと、なかなか高度なツールだと思うので
中身をのぞいてお勉強してみたいなと思います。。。

公開日時:2025/03/16 19:10:02

追記

その後の経過に関して、こちらで書いています

コメント

タイトルとURLをコピーしました