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
続行するには何かキーを押してください . . .

みたいな感じにビルドされます。

出来ない例もあるみたいなのでもしかしたら環境によっては出来ないかもしれません。

ビルドした感じはこんな感じです

WS002148

以上です。

追記
日本語化はsrcフォルダのDGIndex.lang_jpn.iniをビルドしたDGIndex.lang.iniにリネームしてDGIndexと同じ所に置いてあげると出来ます
WS002159

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください