Files
DataVu/README.md
2025-08-21 14:09:47 -04:00

97 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DataVu-PC — Build & Development Guide
A practical guide to building and working on the DataVu-PC project with the exact toolchain this codebase expects.
## Description
DataVu relies on an older Windows/MSVC/Qt stack. Using different versions (especially for Boost) will lead to hard-to-debug template/iterator errors. This README captures the known-good setup and steps to get a successful build on a 64bit Windows machine.
## Getting Started
- It is worth noting that all of these files are also going to be available on the network under \\ERISYS-NAS\Erisys-Files so if you're having a hard time, look at those and set up those folders in the C:\ drive according to the most recent hellog2.pro file
- The build enviorment will be in \\ERISYS-NAS\BuildEnviorments
### Dependencies
- **Windows (64-bit)**
- **MSVC 2013 Build Tools (v120)**
- **Qt 5.5.1 (64-bit, MSVC2013 kit)**
- **Boost 1.64.0**
- Project-specific “misc” folders included in the repository
### Installing
#### 1) MSVC 2013 Build Tools
1. Download “Visual Studio Community 2013 with Update 5” ISO (x86) and install.
2. After installation, set system environment variables (Systemwide, not just for your user). Add the following to **PATH** and move them near the top so they take priority:
- `C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE`
- `C:\Program Files (x86)\Windows Kits\8.1\bin\x64`
- `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64`
3. Create/update **LIB** with:
- `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64`
- `C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64`
- `C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\shared\x64`
4. Create/update **INCLUDE** with:
- `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include`
- `C:\Program Files (x86)\Windows Kits\8.1\Include\shared`
- `C:\Program Files (x86)\Windows Kits\8.1\Include\um`
- `C:\Program Files (x86)\Windows Kits\8.1\Include\winrt`
> Tip: Ensure these take precedence over any newer Visual Studio/Windows SDK entries to avoid mixing headers/libs across toolsets.
#### 2) Qt 5.5.1 (64bit, MSVC2013)
- Install Qt 5.5.1 with the **MSVC2013 64-bit** kit. This provides the correct mkspecs, Qt libraries, and Qt Creator kit for v120.
#### 3) Boost 1.64.0 (exact version)
1. Download Boost **1.64.0** as a ZIP archive.
2. Extract to `C:\boost` (recommended to simplify include/lib mappings).
3. Open **VS2013 x64 Native Tools Command Prompt** (Run as Administrator), `cd` into the extracted Boost directory.
4. Build Boost:
```bat
bootstrap.bat
b2 toolset=msvc-12.0 address-model=64 --build-type=complete stage
```
5. The generated `.lib` files will be under `stage\lib`. You can map these in your `.pro` or project settings as needed.
> Note: Using any Boost version other than 1.64.0 will likely cause failures in iterator/adapter code paths. Stick to 1.64.0.
## Executing program
Typical flow with Qt Creator (MSVC2013 64-bit kit):
1. Launch Qt Creator and select the **MSVC2013 64-bit** Kit.
2. Open the project (`.pro` or CMake/Qt project file used in this repo).
3. Configure for **Release** (recommended initially), then **Build**.
4. Run from Qt Creator, or launch the produced executable from the output folder.
## Help / Troubleshooting
- If you see template or iterator adaptor errors in Boost during compile, confirm you are on **Boost 1.64.0** and not a newer version.
- If the compiler picks the wrong SDK or MSVC headers, move the **PATH**, **LIB**, and **INCLUDE** entries listed above to the top of the respective lists so they win precedence.
- Ensure you are using the 64bit variants everywhere (MSVC, Qt kit, Boost addressmodel).
## Authors
- Timothy Sibley
## Version History
- **0.1** — 20250818: Initial setup notes and knowngood toolchain.
## License
TBD — see `LICENSE.md` when available.
## Acknowledgments
- Template structure adapted from common opensource README patterns.
- Helpful README inspiration:
- https://github.com/matiassingers/awesome-readme
- https://gist.github.com/PurpleBooth/109311bb0361f32d87a2
- https://github.com/dbader/readme-template
- https://gist.github.com/zenorocha/4526327
- https://gist.github.com/fvcproductions/1bfc2d4aecb01a834b46