integrated .dlls in compiled build?

General questions or discussion about HandBrake, Video and/or audio transcoding, trends etc.
Post Reply
Bammanx
Posts: 4
Joined: Thu Nov 10, 2022 11:39 am

integrated .dlls in compiled build?

Post by Bammanx »

Description of problem or question:

I compiled the Windows GUi version on VS studio 2022 and quickly found out that my build doesn't run without the .dlls (because DUH).
In the "official build" i assume the dlls to be injected into the .exe, so are there any smart peeps here who know how?


HandBrake version (e.g., 1.0.0):

1.5.1


Operating system and version (e.g., Ubuntu 16.04 LTS, macOS 10.13 High Sierra, Windows 10 Creators Update):

Windows 10 22H2


Programming noob up in here :D
User avatar
Ritsuka
HandBrake Team
Posts: 1650
Joined: Fri Jan 12, 2007 11:29 am

Re: integrated .dlls in compiled build?

Post by Ritsuka »

the .dll is a separate file. If you are just making changes in the Windows GUI you can copy it from a snapshot, if not there are instructions on how to build everything on https://handbrake.fr/docs/en/latest/dev ... ndows.html
hnsteyding
Posts: 6
Joined: Sat Feb 18, 2023 6:49 pm

Re: integrated .dlls in compiled build?

Post by hnsteyding »

I think what Bammanx means is that after compiling with Visual Studio Community 2022 (x64) you have many DLL files and a small Handbrake executable
https://postimg.cc/KkKq4WQH
All files and folders are needed to run Handbrake properly

The official Handbrake package has one "big" Handbrake executable and does not need any other DLL files to run:
https://postimg.cc/75VQR0fm

So how could we compile/create the "big" Handbrake executable like in the official Handbrake package ?

Regards,
Mark

My compile environment:

Windows 11:
https://postimg.cc/RW9DGXVW

Visual Studio Community 2022 (x64) Version:
https://postimg.cc/PLVVXHbD
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: integrated .dlls in compiled build?

Post by s55 »

There is an msbuild script "Build.xml" with instructions embedded.

That build, just embeds the .NET dll's in the main binary.

Note. hb.dll is still required and must be built under WSL or Linux


Alternatively, there are snapshot builds of the main branch that you can download from https://github.com/HandBrake/HandBrake-snapshots/
hnsteyding
Posts: 6
Joined: Sat Feb 18, 2023 6:49 pm

Re: integrated .dlls in compiled build?

Post by hnsteyding »

Works perfect :D

(My additional) Requirements:
NSIS:
https://nsis.sourceforge.io/Download
After installation set install directory path to system environment variable -> C:\Program Files (x86)\NSIS

GIT Client:
https://gitforwindows.org/

After that i wrote a windows batch file for future nightly release compilation:
----------------------------------------------------------------------------------------------------------------------------------------------
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
If not exist hb.dll goto No-DLL
If not exist \.HandBrake-Compiled md .\HandBrake-Compiled
If not exist \.HandBrake goto git-clone

:git-pull
cd Handbrake
git pull
goto compile

:git-clone
git clone https://github.com/HandBrake/HandBrake.git
goto compile

:compile
copy ".\hb.dll" ".\Handbrake-Compiled\" /Y
XCOPY /h /c /y ".\hb.dll" ".\HandBrake\win\CS\HandBrakeWPF\bin\publish\"
"C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe" ".\HandBrake\win\CS\build.xml" /t:x64 /p:Profile=Nightly
copy ".\HandBrake\win\CS\HandBrakeWPF\bin\publish\HandBrake.exe" ".\Handbrake-Compiled\" /Y
copy ".\HandBrake\win\CS\HandBrakeWPF\bin\publish\HandBrake.Worker.exe" ".\Handbrake-Compiled\" /Y
copy ".\HandBrake\win\CS\HandBrakeWPF\bin\publish\portable.ini.template" ".\Handbrake-Compiled\" /Y
copy ".\HandBrake\win\CS\HandBrakeWPF\bin\publish\HandBrake-*.*" ".\Handbrake-Compiled\" /Y
pause
exit

:No-DLL
cls
echo hb.dll file is missing - please copy file to script directory !
pause
exit
----------------------------------------------------------------------------------------------------------------------------------------------

Regards,
Mark
Post Reply