Skip to content

Commit 1370c64

Browse files
author
Andre Stubbe
committed
Add COMPILE.md and simplify Related Projects
1 parent 8d95d71 commit 1370c64

2 files changed

Lines changed: 66 additions & 16 deletions

File tree

COMPILE.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Building FastRobot
2+
3+
Guide for developers building FastRobot from source.
4+
5+
## Prerequisites
6+
7+
- **JDK 17+**[Download](https://adoptium.net/)
8+
- **Maven 3.9+**[Download](https://maven.apache.org/download.cgi)
9+
- **Visual Studio 2019 or 2022**[Download](https://visualstudio.microsoft.com/downloads/)
10+
- Required: "Desktop development with C++" workload
11+
- Required: Windows 10/11 SDK
12+
13+
## Quick Build
14+
15+
```bash
16+
# Clone repository
17+
git clone https://github.com/andrestubbe/fastrobot.git
18+
cd fastrobot
19+
20+
# Build native DLL + Java
21+
compile.bat
22+
mvn clean package
23+
```
24+
25+
## Build Commands
26+
27+
| Command | Purpose |
28+
|---------|---------|
29+
| `compile.bat` | Build native DLL (requires Visual Studio) |
30+
| `mvn clean compile` | Compile Java only |
31+
| `mvn clean package` | Build JAR with DLL |
32+
| `mvn clean package -DskipTests` | Fast build |
33+
34+
## Running Examples
35+
36+
All examples are in `examples/00-basic-usage/`:
37+
38+
```bash
39+
cd examples/00-basic-usage
40+
mvn compile exec:java
41+
```
42+
43+
## Native Code Structure
44+
45+
```
46+
native/
47+
├── fastrobot.cpp # Main JNI implementation
48+
├── fastrobot.h # JNI header
49+
├── DXGICapture.cpp # DirectX capture
50+
└── DXGICapture.h # DirectX header
51+
```
52+
53+
## Troubleshooting
54+
55+
**"Cannot find cl.exe"** — Run in "Developer Command Prompt for VS 2019/2022"
56+
57+
**"UnsatisfiedLinkError: no fastrobot in java.library.path"** — Run `compile.bat` first
58+
59+
**"DXGI_ERROR_NOT_FOUND"** — Ensure Windows 10/11 with DirectX 11+ GPU

README.md

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -235,24 +235,15 @@ MIT License — free for commercial and private use. See [LICENSE](LICENSE) for
235235

236236
## Related Projects
237237

238-
**Core Infrastructure:**
239-
- [FastCore](https://github.com/andrestubbe/FastCore) — Unified JNI loader for all FastJava modules
240-
241-
**Input & Automation:**
238+
- [FastCore](https://github.com/andrestubbe/FastCore) — Unified JNI loader
242239
- [FastHotkey](https://github.com/andrestubbe/FastHotkey) — Global hotkey library
243-
- [FastTouch](https://github.com/andrestubbe/FastTouch) — Multi-touch gesture recognition
244-
245-
**System Integration:**
246-
- [FastClipboard](https://github.com/andrestubbe/FastClipboard) — Ultra-fast clipboard access
247-
- [FastTheme](https://github.com/andrestubbe/FastTheme) — OS display/theme monitor
248-
249-
**Graphics & Vision:**
240+
- [FastTouch](https://github.com/andrestubbe/FastTouch) — Multi-touch gestures
241+
- [FastClipboard](https://github.com/andrestubbe/FastClipboard) — Clipboard access
242+
- [FastTheme](https://github.com/andrestubbe/FastTheme) — Display/theme monitor
250243
- [FastGraphics](https://github.com/andrestubbe/FastGraphics) — GPU-accelerated graphics
251-
- [FastAI](https://github.com/andrestubbe/FastAI) — AI/ML integration for Java
252-
253-
**Math & Performance:**
254-
- [FastMath](https://github.com/andrestubbe/FastMath) — SIMD-optimized math operations
255-
- [FastIO](https://github.com/andrestubbe/FastIO) — High-performance file I/O
244+
- [FastAI](https://github.com/andrestubbe/FastAI) — AI/ML integration
245+
- [FastMath](https://github.com/andrestubbe/FastMath) — SIMD math
246+
- [FastIO](https://github.com/andrestubbe/FastIO) — High-performance I/O
256247

257248
---
258249

0 commit comments

Comments
 (0)