DGIndex1.5.8のMod版をビルドした
2018/08/25追記
ソースは同じところまたは https://github.com/maki-rxrz/DGMPGDec
から落とす
VS2017導入環境ならDGMPGDec_Build_Release_msvc15.batを叩く
注意事項としてはNASMのパス云々は2015年の時に試したのと同じ状態っぽい?(Win32版を落とすこと)
ml.exeとSDK7.1はもういらないって感じでOKっぽい
正直一から再構築したわけではないので必要だけど把握してなくてもう入ってるパターンもあり得ると思うのでダメだったらググってください・・・
許して・・・
2016年11月20日追記
久しぶりにソース見てみたらnasmがあるところのパスを通すかパスが通ってあるフォルダにnasmをおいてVisualStudio2010以降があればすんなり通るようです
以下は2015年8月23日当時の内容であり現在のバージョンならここまで苦労する必要なさそうです
いくらやっても通らんって思ってたら.NET Frameworkでビルドさせてたのとnasmを間違ってバイナリではなくソースコードを使っていたのが原因
とてもつらい
多分これで通せると思います
前提
Win7Pro x64
WindowsSDK v7.1を導入済み
必要なもの
DGIndex_fix_mod – OneDrive
srcごとDLします
NASM
から最新版のWindows用のバイナリをzipでもインストーラー形式でいいからDLしてくる(絶対に間違ってソースコードをDLしないように)
vcpp5
をDLして7-Zip使うなり適当に解答させたりしてml.exeを抽出しておく
1,nasmが入っているフォルダを適当にどこにでもいいからおく。あとでそこのパスが大事になるからできるだけドライブ直下に置いたほうがいいかも
2,nasmが入っているフォルダにml.exeを入れる
3,DGIndexのソースコードを展開して、_build_wsdk71.batを編集する
rem set MASM_PATH=nasmが入っているフォルダのディレクトリ set NASM_PATH=nasmが入ってるフォルダの(略
あと、SDKのインストール場所を何らかの理由で変更している人は
call "E:\SDK\Bin\SetEnv.cmd" /x86 /xp /Release
の様にパスを変更する必要があります
ここまでできたらビルドします
DGIndexのソースコードは
dgindex158src_fix_mod_20141110.7zを展開したものを使用
dgindex158src_fix_mod_20141110.7zを展開したフォルダにmakefileがあると思うのでそれをさっきの_build_wsdk71.batにドラッグドロップします。
そうすると
Setting SDK environment relative to E:\SDK\. Targeting Windows XP x86 Release Microsoft (R) Program Maintenance Utility Version 10.00.40219.01 Copyright (C) Microsoft Corporation. All rights reserved. rc gui.rc nasm simple_idct_mmx.asm nasm skl_dct_sse.asm d2vparse.cpp getbit.cpp gethdr.cpp getpic.cpp gui.cpp idctfpu.cpp idctref.cpp initial_parse.cpp misc.cpp motion.cpp mpeg2dec.cpp norm.cpp parse_cli.cpp pat.cpp store.cpp strverscmp.cpp wavefs44.cpp bit_allocate.cpp bitstream.cpp coeff.cpp crc.cpp decode.cpp downmix.cpp exponent.cpp imdct.cpp parse.cpp rematrix.cpp sanity_check.cpp link.exe /OUT:".\Release_nmake\DGIndex.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /M anifestFile:".\Release_nmake\DGIndex.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /SUBSYSTEM:WINDOWS,5.01 /STACK :"4096000" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /PDB:".\Release_nmake/DG Index.pdb" /ERRORREPORT:NONE idctmmx.obj ".\Release_nmake\gui.res" ".\Release_nm ake\simple_idct_mmx.obj" ".\Release_nmake\skl_dct_sse.obj" ".\Release_nmake\d2vp arse.obj" ".\Release_nmake\getbit.obj" ".\Release_nmake\gethdr.obj" ".\Release_n make\getpic.obj" ".\Release_nmake\gui.obj" ".\Release_nmake\idctfpu.obj" ".\Rele ase_nmake\idctref.obj" ".\Release_nmake\initial_parse.obj" ".\Release_nmake\misc .obj" ".\Release_nmake\motion.obj" ".\Release_nmake\mpeg2dec.obj" ".\Release_nma ke\norm.obj" ".\Release_nmake\parse_cli.obj" ".\Release_nmake\pat.obj" ".\Releas e_nmake\store.obj" ".\Release_nmake\strverscmp.obj" ".\Release_nmake\wavefs44.ob j" ".\Release_nmake\AC3Dec\bit_allocate.obj" ".\Release_nmake\AC3Dec\bitstream.o bj" ".\Release_nmake\AC3Dec\coeff.obj" ".\Release_nmake\AC3Dec\crc.obj" ".\Relea se_nmake\AC3Dec\decode.obj" ".\Release_nmake\AC3Dec\downmix.obj" ".\Release_nmak e\AC3Dec\exponent.obj" ".\Release_nmake\AC3Dec\imdct.obj" ".\Release_nmake\AC3De c\parse.obj" ".\Release_nmake\AC3Dec\rematrix.obj" ".\Release_nmake\AC3Dec\sanit y_check.obj" vfw32.lib winmm.lib odbc32.lib odbccp32.lib shlwapi.lib kernel32.li b user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32. lib oleaut32.lib uuid.lib 続行するには何かキーを押してください . . .
みたいな感じにビルドされます。
出来ない例もあるみたいなのでもしかしたら環境によっては出来ないかもしれません。
ビルドした感じはこんな感じです
以上です。
追記
日本語化はsrcフォルダのDGIndex.lang_jpn.iniをビルドしたDGIndex.lang.iniにリネームしてDGIndexと同じ所に置いてあげると出来ます