2019年10月10日木曜日

TVTest0.7.23x64をVS2015でビルド


必要な物
TVTest_0.7.23_Sources.zip
faad2-2.7.zip https://www.audiocoding.com/downloads.html
Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO)
(32bitOS用GRMSDK_EN_DVD.iso、64bitOS用GRMSDKX_EN_DVD.iso)
https://www.microsoft.com/en-us/download/details.aspx?id=8442

全てのビルドをRelease、x64、マルチスレッドDLL(/MD)等に統一する。
プロパティ>構成プロパティ>C/C++>コード生成>ランタイムライブラリ マルチスレッドDLL(/MD)


strmbase.lib
Windows SDKをインストールする。
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\baseclasses.slnを開く。
ビルドbaseclasses\x64\Release\strmbase.lib


libfaad.lib
faad2-2.7\frontend\faad.slnを開く。
ビルド>構成マネージャー>アクティブ ソリューション プラットフォーム>新規作成で、設定のコピー元:Win32でx64を作成。

faad2-2.7\libfaad\common.hを変更。
316 #if defined(_WIN32) && !defined(__MINGW32__) && _MSC_VER < 1700

ビルドfaad2-2.7\libfaad\Release\libfaad.lib


TVTest.exe
TVTest_0.7.23_Sources\TVTest_0.7.23_Src\TVTest.slnを開く。

TVTest_0.7.23_Sources\TVTest_0.7.23_Src\BonTsEngine\Multi2Decoder.hを変更。
18 //#define MULTI2_SIMD_ICC // Intel C++ Compiler を利用する
  #include <intrin.h>

インクルードディレクトリを追加。
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\linkopts

ライブラリディレクトリを追加。
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Release
faad2-2.7\libfaad\Release

プロパティ>構成プロパティ>リンカー>入力>追加の依存ファイルを追加。
legacy_stdio_definitions.lib
strmbase.lib
libfaad.lib 
  
ビルドTVTest_0.7.23_Sources\TVTest_0.7.23_Src\x64\Release\TVTest.exe





Intel Parallel Studio XE 2016以降を使う場合(試用30日)

Multi2Decoder.lib
TVTest_0.7.23_Src\ICC\ICC_VS2010.slnを開く。
プロパティ>構成プロパティ>全般>プラットフォーム・ツールセットをIntel C++ Compilerに変更する。
ビルドTVTest_0.7.23_Src\ICC\x64\Release\Multi2Decoder.lib


TVTest.exe
TVTest_0.7.23_Sources\TVTest_0.7.23_Src\BonTsEngine\Multi2Decoder.hを変更。
18 #define MULTI2_SIMD_ICC // Intel C++ Compiler を利用する
   #include <intrin.h>


2019年10月8日火曜日

VS2015のインクルード、ライブラリパスの一括変更

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Common.propsファイルを書き換えて、以下のマクロを変更する。
$(VC_IncludePath)
$(VC_LibraryPath_x86)
$(VC_LibraryPath_x64)

変更前
<VC_IncludePath>$(VC_VC_IncludePath);$(VC_ATLMFC_IncludePath);$(UniversalCRT_IncludePath);</VC_IncludePath>
<VC_LibraryPath_x86>$(VC_LibraryPath_VC_x86);$(VC_LibraryPath_ATL_x86);$(UniversalCRT_LibraryPath_x86);</VC_LibraryPath_x86>
<VC_LibraryPath_x64>$(VC_LibraryPath_VC_x64);$(VC_LibraryPath_ATL_x64);$(UniversalCRT_LibraryPath_x64);</VC_LibraryPath_x64>


<VC_IncludePath>$(VC_VC_IncludePath);$(VC_ATLMFC_IncludePath);$(UniversalCRT_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt;</VC_IncludePath>
<VC_LibraryPath_x86>$(VC_LibraryPath_VC_x86);$(VC_LibraryPath_ATL_x86);$(UniversalCRT_LibraryPath_x86);C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86;</VC_LibraryPath_x86>
<VC_LibraryPath_x64>$(VC_LibraryPath_VC_x64);$(VC_LibraryPath_ATL_x64);$(UniversalCRT_LibraryPath_x64);C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64;</VC_LibraryPath_x64>