■ BlueMSXのビルドメモ 他の人がビルドした2013年 2.8.3β https://www.msx.org/forum/msx-talk/emulation/bluemsx-latest-version 自分が弄った3倍、4倍表示対応版2.9.0β https://app.box.com/s/50a2muesr4vvii7shz1viw5ae85vpafn と、そのソース https://app.box.com/s/7uq1l4yqc2xkdwt1lifvye6c5x7nhv78 WindowsSDK7以降はDirectShow回りが変更されてるのでそのあたりの修正とか色々。 ・VC++2017かVC++2010、 ・Windows SDK 7.0か7.1 ・DirectX SDK (August 2007) でビルド完了。 ●BlueMSX最新版ソース(2.9.0?) https://sourceforge.net/p/bluemsx/code/HEAD/tree/ ステートセーブのバグその他が修正されている。 ●qedit_def.hを探してきて、qedit.hをインクルードしてる箇所をqedit_def.hに置き換え。 https://github.com/nyatla/NyWin32Capture ●Strmbaselib、Strmiids.lib、Quartz.lib WindowsSDKへのDirectShow統合に伴って、明示的なライブラリへのリンクが必要。 めんどいからこんな感じで、Win32DirectShow.cpp に pragmaで指定。 #pragma comment(lib, "Strmbase.lib") #pragma comment(lib, "Strmiids.lib") #pragma comment(lib, "Quartz.lib") ※ Strmbase.lib プロジェクトのblueMSX\Src\ThirdParty\DirectShowSamples に存在する。 インクルードパスに無ければ追加 ..\..\Src\ThirdParty\DirectShowSamples ライブラリパスに無ければ追加 ..\..\Src\ThirdParty\DirectShowSamples ※ 自分で作成する場合は、Windows SDK 7のsampleにあるbaseclassesから作れる。 http://imagingsolution.blog.fc2.com/blog-entry-189.html 自作の場合の追加のインクルードパス C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses 自作の場合の追加のライブラリパスに追加 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug_MBCS C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release_MBCS (※ 32ビット版Windowsの人はC:\Program Files (x86)\ → C:\Program Files\) ●zlibstat.lib zlibstat.libを要求された場合は、プロジェクト内に存在しないので zlibをダウンロードしてきてビルドして作る。 (レポジトリの過去ログを探れば見つかるかもしれない?) ●build_number.h build_number.hが見つからないといわれた場合インクルードパスに追加 ..\..\bin ●Languageファイル 英語環境向けのため、日本語環境だとうまくいかない事がある。 日本語環境でどうにかするなら、 ・エスケープシーケンス(漢字やかなの前に\があった場合の\)を削除する。 ・こまめにUTF-8で保存しなおす。 ・UTF-8で保存しなおした場合、マルチバイト文字だと再現できませんなどの警告が出るがあきらめる。 (ワイド文字対応すると結構大変そう) 英語環境でやるなら、 VisualStudioインストーラで言語を追加。 設定→環境→国際対応で英語環境を選択する。 ●その他 ・upx.exeをダウンロードしてきてパスを通しておく。 ・何か足りなかったらインクルードパス等に追加すればたぶんできる。