https://github.com/pegvin/dllbundler
Recursively Copy DLLs Required By A .exe or a .dll file.
https://github.com/pegvin/dllbundler
cpp cpp17 dll-bundler mingw mingw-cross-environment mingw-environment mingw-w64 mingw32 mingw64 msys2 objdump
Last synced: 2 months ago
JSON representation
Recursively Copy DLLs Required By A .exe or a .dll file.
- Host: GitHub
- URL: https://github.com/pegvin/dllbundler
- Owner: pegvin
- License: bsd-3-clause
- Created: 2023-03-18T18:21:25.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-21T09:03:32.000Z (about 2 years ago)
- Last Synced: 2024-12-27T21:14:16.370Z (4 months ago)
- Topics: cpp, cpp17, dll-bundler, mingw, mingw-cross-environment, mingw-environment, mingw-w64, mingw32, mingw64, msys2, objdump
- Language: C++
- Homepage:
- Size: 58.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DLLB - DLL Bundler
Recursively Copy DLLs Required By A .exe or a .dll file.---
## Features- No External Runtime Required (Like in Python or Js Scripts)
- Recursively Find Dependencies (Finds The Dependencies Of Dependencies Of Dependencies...)
- Optionally Compress All The Dependencies Using UPX---
## Requirements- Objdump (Provider [Binutils](https://packages.msys2.org/package/binutils))
- UPX (Required Only If You Use Compression) (Provider [UPX](https://packages.msys2.org/package/upx))---
## Usage
```
Usage: dllb [-h] [--copy] [--upx] executablepositional arguments:
executable EXE or DLL file to bundle dependencies foroptions:
-h, --help Show this help message and exit
--copy Copy the DLLs next to the executable
--upx Run UPX on all the DLLs and EXE (requires --copy).
```---
## Notes- dllb uses directories listed in `$PATH` env variable to search for the required DLLs.
- overriding `$PATH` variable is useful if you want to add more search paths.---
## Building From Source**Requirements:**
- [Git](https://packages.msys2.org/package/git)
- [GNU Make](https://packages.msys2.org/package/make)
- [g++](https://packages.msys2.org/package/gcc) or [clang++](https://packages.msys2.org/package/clang)1. Clone The Repo: `git clone https://github.com/pegvin/DLLBundler`
2. CD into the cloned repo: `cd DLLBundler/`
3. Build: `make all DEBUG=false CXX=g++ LN=g++`
- `DEBUG` is set to true by default
- `CXX` & `LN` are set to g++ by default but can be overriden if using clang++---
## License
DLLB is licensed under [BSD 3-Clause "New" or "Revised" License](./LICENSE).---
# Thanks