Skip to content

1. Building Fritzing

Kjell edited this page Apr 29, 2024 · 39 revisions

Getting started

If you have never worked with Qt before, we highly recommend their tutorials: https://doc.qt.io/qt-6/qtexamplesandtutorials.html

Try to open and build some of the example projects, and maybe even creating a mini project from scratch.

Download and install Qt and Qt Creator

Download and install the Qt open source edition from the Qt software download page. We are always trying to use the latest version of Qt. For the exact Qt version, please check the file phoenix.pro ( Qt 6.5.3 at time of writing this )

You will need

  • Qt Creator
  • Qt Desktop
  • Qt Sources
  • Qt 5 Compatibility Module
  • Qt Debug Information Files

Install system dependencies

  • Windows: Install Microsoft Visual Studio (2019 at time of this writing, but 2022 should work too) including Visual C++ support.

  • OSX: clang, XCode

  • Linux: gcc and clang, openssl3

Install source dependencies

All source dependencies must be placed in a sibling directory to fritzing-app.

Verified versions of boost are listed in the boostdetect.pri file under "BOOSTS".

Please follow the build instructions of the project to build a dynamic library.

PolyClipper (aka Clipper1)

svgpp

ngspice

Please follow build instructions from the developer manual to build a shared dynamic runtime version. https://ngspice.sourceforge.io/docs/ngspice-manual.pdf

Quazip

Quazip should be build with the same Qt version as Fritzing

The Fritzing code itself

The Fritzing code is available for download from the github repository. Currently, the code lives at https://github.com/fritzing/fritzing-app

Clone it like so:

git clone https://github.com/fritzing/fritzing-app.git

Fritzing parts

You will also want the separate repository containing all component definitions:

git clone https://github.com/fritzing/fritzing-parts.git

Building

In QtCreator, open the file phoenix.pro and configure the project for the target qt version. If you want to work with example sketches, it is very helpful to add an additional build step to rsync of the sketches from the source to the build destination.