File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments