・[NEW] 2021/12/27
電子回路設計ソフトの Fritzingを Windows環境でビルドする方法
(How to Build Fritzing from Source code in Windows with Visual Studio 2017)
Tags: [Windows], [無人インストール]
●電子回路設計ソフトの Fritzingを Windows環境でビルドする方法
How to Build Fritzing from Source code in Windows with Visual Studio 2017
Fritzingのダウンロードが有料になったので、その回避方法。
Arduinoや Raspberry Pi界隈の電子回路の設計で有名な Fritzingが知らない間にダウンロードが有料になっていました。(使用自体は無料)
Fritzing - Download
We are asking you to pay 8€ (around US$10) for downloading the application. This way we can ensure future releases, bugfixes and features.
アプリケーションのダウンロードには、8ユーロ(約US$10)の支払いをお願いしています。そうすることで、将来のリリース、バグフィックス、機能を確保することができます。
今後のバージョンアップ等の為に支払いをしても良いのですが、ソースコードから自前でビルドする方法を紹介します。
Fritzing自体は GNU GPL v3ライセンスのオープンソースのソフトで、GitHubに Fritzing公式のリポジトリ(ソースリストを公開している所)が有ります。
fritzing / fritzing-app
そこにソース リスト一式が有るので自前でコンパイルして実行ファイル等々を作成します。
●電子回路設計ソフトの Fritzingを Windows環境でビルドする方法
ビルドに必要なソフトとバージョン
● Fritzing公式のビルド手順
Building Fritzing
●電子回路設計ソフトの Fritzingを Windows環境でビルドする方法
下記を順番に行ないます。
・適当な作業ディレクトリを作成する
・Git clientをインストールする
・Fritzingのソースリストを Git cloneでダウンロードする
・Fritzingのパーツを Git cloneでダウンロードする
・Visual Studio 2017をインストールする
・CMakeをインストールする
・Boostライブラリをビルドする
・libgit2をビルドする
・Qtをインストールする
・Qt Creatorを起動して Fritzing projectをビルドする
・Fritzingの実行ディレクトリに Qt等の DLLファイルをコピーする
↓
(゚д゚)ウマー
● 適当な作業ディレクトリを作成する
私の場合は
G:\fritzing
を作成しました。
● Git clientをインストールする
私の場合は Portable版をダウンロードして解凍しました。
● Fritzingのソースリストを Git cloneでダウンロードする
cd /d G:\fritzing
git clone https://github.com/fritzing/fritzing-app.git -b master
※ fritzing-appのデフォルトの developブランチは ui_fabuploaddialog.h does not existのエラーでビルドできないので masterブランチを cloneする
● Fritzingのパーツを Git cloneでダウンロードする
cd /d G:\fritzing
git clone https://github.com/fritzing/fritzing-parts.git
※ fritzing-partsは Gitの管理情報が無いと parts.dbの生成時に Unable to find parts git repositoryで失敗するので必ず git cloneでダウンロードする事
● Visual Studio 2017をインストールする
Visual Studio 2017は下記の自動インストールで大丈夫です。
・ Visual Studio 2017 Professionalの場合
cd /d %~dp0
set CurDir=%~dp0
vs_Professional.exe ^
--config %CurDir%VS2017.vsconfig ^
--productKey AAAAA-BBBBB-CCCCC-DDDDD-EEEEE ^
--nocache ^
--norestart --wait ^
--passive
・ Visual Studio 2017 Communityの場合
cd /d %~dp0
set CurDir=%~dp0
vs_Community.exe ^
--config %CurDir%VS2017.vsconfig ^
--nocache ^
--norestart --wait ^
--passive
VS2017.vsconfig
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.Universal",
"microsoft.net.componentgroup.targetingpacks.common",
"microsoft.visualstudio.component.vc.cmake.project",
"microsoft.visualstudio.componentgroup.nativedesktop.winxp",
"microsoft.visualstudio.component.vc.atlmfc",
"microsoft.net.component.3.5.developertools"
]
}
● Visual Studioの代わりに Build Tools for Visual Studioでも Fritzingをビルドできました
Build Tools for Visual Studio 2019でも Fritzingをビルドできました。
Build Tools for Visual Studio
https://aka.ms/vs/16/release/vs_buildtools.exe
cd /d %~dp0
set CurDir=%~dp0
vs_buildtools.exe ^
--config %CurDir%VSBT2019.vsconfig ^
--nocache ^
--norestart --wait ^
--passive
VSBT2019.vsconfig
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.CoreBuildTools",
"Microsoft.VisualStudio.Workload.MSBuildTools",
"Microsoft.VisualStudio.Component.Windows10SDK",
"Microsoft.VisualStudio.Component.VC.CoreBuildTools",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.Component.Windows10SDK.19041",
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.Workload.VCTools"
]
}
● Microsoft Build Tools 2015 Update 3
以前のバージョンの Visual Studio のダウンロード - 2019、2017、2015 以前のバージョン
Microsoft Build Tools 2015 Update 3
https://download.microsoft.com/download/5/F/7/5F7ACAEB-8363-451F-9425-68A90F98B238/visualcppbuildtools_full.exe
● CMakeをインストールする
cmake-3.22.1-windows-x86_64.msiを実行して、そのまま「Next」をクリックします。
● Boostライブラリをビルドする
G:\fritzing
に
boost_1_78_0.zip
を解凍する。
下記を G:\fritzingのコマンドラインで実行する。(管理者権限は不要です)
cd boost_1_78_0
echo %CD%
set BOOST_DIR=%CD%
set BUILD_JOBS=%NUMBER_OF_PROCESSORS%
set TOOL_SET=msvc-14.1
b2.exe toolset=%TOOL_SET% link=static runtime-link=static,shared --build-dir=build/x64 address-model=64 -j%BUILD_JOBS% install --includedir=%BOOST_DIR%\include --libdir=%BOOST_DIR%\stage\lib\x64
Build Tools for Visual Studio 2019の場合の Boostは下記
set TOOL_SET=msvc-14.2
ちなみに 32bit版の場合は下記。
b2.exe toolset=%TOOL_SET% link=static runtime-link=static,shared --build-dir=build/x86 address-model=32 -j%BUILD_JOBS% install --includedir=%BOOST_DIR%\include --libdir=%BOOST_DIR%\stage\lib\x86
※ 32bit版は不要です
● libgit2をビルドする
Download version 0.28.x of libgit2と書いて有るので 0.28.xの最新の v0.28.5を使用します。
下記を G:\fritzingのコマンドラインで実行する。(管理者権限は不要です)
git clone https://github.com/libgit2/libgit2 -b v0.28.5
cd libgit2
mkdir build64
cd build64
cmake .. -G "Visual Studio 15 2017" -A x64 -DBUILD_CLAR=OFF
cmake --build . --config Release
Build Tools for Visual Studio 2019の場合の CMakeは下記
cmake .. -G "Visual Studio 16 2019" -A x64 -DBUILD_CLAR=OFF
cmake --build . --config Release
・ここまでの G:\fritzingディレクトリの中身

rem 間違いの指定方法
rem Wrong Compile option with BUILD_SHARED_LIBS=OFF
cmake .. -G "Visual Studio 15 2017" -A x64 -DBUILD_SHARED_LIBS=OFF -DBUILD_CLAR=OFF
cmake --build . --config Release
※ Windowsの場合は BUILD_SHARED_LIBS=OFF指定は不要です。(BUILD_SHARED_LIBS=OFF指定があると git2.dllの DLLファイルが作られない)
ちなみに 32bit版はエラーが出ました。(そもそもで現在の Fritzingは 32bit版に対応していません)
mkdir build32
cd build32
cmake .. -G "Visual Studio 15 2017" -A x86 -DBUILD_CLAR=OFF
cmake --build . --config Release
このプロジェクトには、Debug|Win32 の構成とプラットフォームの組み合わせが含まれていません。
● Qtをインストールする
Qt 5.12.12版をインストールしました。
インストール時に Qtへのアカウント登録(無料)が必要です。
コンポーネントの選択で
・MSVC 2017 64-bit
を選択します。(32-bitの選択は不要)
Build Tools for Visual Studio 2019の場合も「MSVC 2017 64-bit」で大丈夫でした。
● Qt Creatorを起動して Fritzing projectをビルドする
Qt Creator 5.0.2を起動する
ファイル/プロジェクトを開くで phoenix.proファイルを選択する
G:\fritzing\fritzing-app\phoenix.pro
Configure Projectで「Desktop Qt 5.12.12 MSVC2017 64bit」の 64bitを選択する
Qtの左側中央のスパナのアイコン プロジェクトをクリックする
Build & Runの Buildをクリックする
ビルド設定 - ビルド設定を編集で Debugを Releaseに変更する

Build & Runの Runをクリックする
実行時の設定 - 実行 - コマンドライン引数に下記を設定する
-f "/path/to/fritzing-app/" -parts "/path/to/fritzing-parts/" -db "/path/to/fritzing-parts/parts.db"
今回の場合は下記になる
-f "G:\fritzing\fritzing-app\" -parts "G:\fritzing\fritzing-parts\" -db "G:\fritzing\fritzing-parts\parts.db"

Qtの左下の緑色の三角(再生マーク)をクリックする

Qtの下部に下記の表示が出たら parts.dbの作成が完了
G:\fritzing\release64\Fritzing.exe exited with code 0

G:\fritzing\fritzing-partsに parts.dbが生成される。
実行時の設定 - 実行 - コマンドライン引数から -db "/path/to/fritzing-parts/parts.db"を削除する
今回の場合は下記になる
-f "G:\fritzing\fritzing-app\" -parts "G:\fritzing\fritzing-parts\"
再度 Qtの左下の緑色の三角(再生マーク)をクリックする
Fritzingが起動すれば大成功!




Fritzingの実行ファイル一式は
G:\fritzing\release64
にできています。(Releaseを選択している場合)
ビルドした Fritzingは 64bit版の Windows環境で動かせます。
● 配布用に Fritzingの実行ディレクトリに Qt等の DLLファイルをコピーする方法
上記で生成した状態では Qt Cleator上でしか Fritzingを実行できません。
G:\fritzing\release64\Fritzing.exe
の Fritzing.exeを実行しても「Qt5Svg.dllが見つからない」等のエラーが出て実行できません。
Fritzing.exe単体で動く様に Qtの実行に必要な DLLファイルを G:\fritzing\release64ディレクトリにコピーする必要があります。
また、Qtでビルドしたプロジェクトを配布する場合も同様に実行時に必要な Qtの DLLファイルをコピーする必要があります。
Qtに付属の windeployqtコマンドで Qtの実行に必要な DLLファイルをコピーできます。
Fritzingの場合はその他に libgit2の git2.dllファイルが必要なのでそれもコピーします。
cd /d C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\bin
windeployqt.exe G:\fritzing\release64
rem Copy git2.dll
cd /d G:\fritzing
copy .\libgit2\build64\Release\git2.dll .\release64\
上記を実行後に
G:\fritzing\release64\Fritzing.exe
の Fritzing.exeを実行できる様になります。
また、
G:\fritzing\release64
ディレクトリを ZIP等で圧縮して他のパソコンに展開しても動きます。
(配布できる様になる)
・配布用に Fritzingの実行ディレクトリに Qt等の DLLファイルをコピーする方法


● Fritzingのバージョンの確認方法
org.fritzing.Fritzing.appdata.xml
ファイルの中に記載があります。
developブランチ
https://github.com/fritzing/fritzing-app/blob/develop/org.fritzing.Fritzing.appdata.xml
<release version="0.9.9" date="2021-09-09"/>
masterブランチ
https://github.com/fritzing/fritzing-app/blob/master/org.fritzing.Fritzing.appdata.xml
<release version="0.9.6" date="2021-02-01"/>
● Fritzing Build Error ui_fabuploaddialog.h does not exist.
:-1: エラー: dependent 'G:\fritzing\debug64\ui_fabuploaddialog.h' does not exist.
解決方法:諦めて masterブランチのソース一式を使用
Compiling error ui_fabuploaddialog.h
vanepp Leader
Oct 14
While I haven’t compiled from source in a couple of years, my guess is that you are using the development head source and there is a missing .h file. Try moving back to one of the release points (0.9.6 for instance) and compiling that.
Peter
● Fritzing Build Error LNK2001 unresolved external symbol __imp_GetTokenInformation
git2.lib(path.obj):-1: エラー: LNK2001: 外部シンボル "__imp_GetTokenInformation" は未解決です。
解決方法:libgit2のビルド設定で -DBUILD_SHARED_LIBS=OFFを削除
error LNK2001: unresolved external symbol #3801
failiz commented on 25 Mar
You have to compile libgit2 and it should generate a dll file. If there is no dll file, Fritzing will not work. Follow the instructions in the page of gitlib2 or try without -DBUILD_SHARED_LIBS=OFF
I do not think that it is a version problem, but I am using version 1.0.1
try without -DBUILD_SHARED_LIBS=OFF
● Fritzing Build Error Unable to find parts git repository
解決方法:fritzing-partsを git cloneでダウンロード
Unable to find parts git repository #3890
https://github.com/fritzing/fritzing-app/blob/develop/src/version/partschecker.cpp
git_libgit2_init();
int error = git_repository_open(&repository, repoPath.toUtf8().constData());
if (error) {
FMessageBox::warning(NULL, QObject::tr("Regenerating parts database"), QObject::tr("Unable to find parts git repository"));
goto cleanup;
}
・Fritzing Build Error Unable to find parts git repository

Tags: [Windows], [無人インストール]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
電子回路設計ソフトの Fritzingを無料でダウンロードして使用する方法
Fritzingのダウンロードが有料になったので、GitHubから無料でダウンロードする方法
電子回路設計ソフトの Fritzingで任意の画像をブレッドボード画面に埋め込む方法
How to import any image on the breadboard with Fritzing electronic circuit design software
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2021 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/software/how_to_build_fritzing_windows_visual_studio/