상세 컨텐츠

본문 제목

building Fritzing on Windows

OS/Window

by ZelKun 2020. 7. 7. 10:03

본문

반응형

출처:  https://fritzing.org

무료였는데, 유료(기부) 변경됨 왜죠?

오픈소스로 직접 빌드해서 사용하면 기부를 안해도 되니 빌드를 해보기로

 

맥을 쓰니까 windows 쓸일이 없지만...

윈도우에서 도전을 해봄

 

친절(?)하게도 github build 메뉴얼이 올라와있다

build 자동화에 대해서도 안내하니 매우 친절할 수가 없다 (wiki 참고)

 

We have setup automated builds for Windows 10, MacOS and Ubuntu Linux and Fedora Linux. You can check the .travis.yml file and the Docker configurations for additional details on how to build.

docker 언급이 있는걸 보니 docker 사용할수 있나보다

안써봐서 모르겠..

 

- 참고 다운로드 디렉토리를 D:\로 이동해놔서 경로가 다를수 있다

일반적으로 c:\Users\[사용자명]\downloads  이다

 

설치해야할게 있는데,

  • git
  • Qt(5.9.6버전을 사용한듯)
  • Microsoft Visual Studio 2017(Qt Add-in 필요)
  • cmake(의존성 관련빌드용)
  • 의존성: Boost, libgit2

git 안쓰고 하려면 정신건강에 안좋으니… 설치하는걸 추천한다

부품(parts)를 github에서 받아오는데 수정하려니 뭔가 잘안된다

 

On Windows, you will need to build it with the Visual Studio compiler (not mingw). Download cmake and then either follow the default libgit2 build instructions on the command line, or use QtCreator's cmake import tool. Make sure that the compiled library ends up in the folder libgit2/build32 or libgit2/build64 in order to be found by fritzing.

특이하게도 mingw 아니라고 명시되있다..

의존성 소스를 받아서 cmake 빌드해줘야한다


관련프로그램 설치

git: https://github.com/git-for-windows/git/releases/download/v2.27.0.windows.1/Git-2.27.0-64-bit.exe

Qt(5.12.9): http://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe

 

비주얼스튜디오 설치하기 싫어서 Microsoft C++ Build Tools 로 진행했다

2017을 받아서 설치해야하는 불편함... Qt에서 2019를 지원하지 않는듯 하다

https://visualstudio.microsoft.com/ko/vs/older-downloads/

Dev Essentials 프로그램에 가입하면 이전버전을 받을 수 있다

 

Cmake(libgit2 build): https://github.com/Kitware/CMake/releases/download/v3.18.0-rc3/cmake-3.18.0-rc3-win64-x64.msi

의존성 패키지

Boost: https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.zip

libgit2: https://github.com/libgit2/libgit2/releases/download/v1.0.1/libgit2-1.0.1.zip

 

설치 참고

[OS/Window] - install git on Windows

[OS/Window] - install Qt 5.12.9 on Windows

[OS/Window] - install Microsoft C++ Build Tools

[OS/Window] - install Microsoft C++ Build Tools 2017

[OS/Window] - install CMake on windows


의존성 패키지 준비

- stage: build_and_pack

      os: windows

      language: cpp



      before_install:

        - curl -L http://download.qt-project.org/official_releases/online_installers/qt-unified-windows-x86-online.exe --output qt-installer.exe

        - ./qt-installer.exe --script ./tools/qt_installer_noninteractive.qs

        - curl -fsSL https://github.com/libgit2/libgit2/archive/v0.28.1.zip -o libgit2.zip && 7z x libgit2.zip && mv libgit2-0.28.1 ../libgit2

        - (mkdir ../libgit2/build64 && cd ../libgit2/build64 && cmake -G "Visual Studio 15 2017 Win64" .. && cmake --build . --config Release)

        - (cd .. && curl -L https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.bz2 | tar xj)

        - tools/aws_tasks.sh setup



      script:

          - tools/build-windows.bat "$TRAVIS_COMMIT"-$TRAVIS_BRANCH-"$TRAVIS_BUILD_NUMBER"

          - tools/aws_tasks.sh store_with_md5 $TRAVIS_BUILD_DIR/../release64 fritzing-$TRAVIS_COMMIT-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER.windows.64.zip

작업 참고 : https://github.com/fritzing/fritzing-app/blob/develop/.travis.yml

 

보면 libgit2-0.28.1 을 사용했고 boost_1_70.0 을 사용한걸 알 수 있다

전부 최신으로 받았으니 배치파일에 경로는 수정 해줘야한다..


building libgit2

디렉토리를 libgit2-1.0.1 -> libgit2 변경을 해줘야 한다..

build 진행하다보니 배치파일에서 경로문제가 발생한다.

qt 인듯한데 어느부분을 수정해야 할지 난감하다 boost는 상관없었다

building Fritzing on Windows

libgit2 디렉토리로 이동해서

build를 위해 build64 디렉토리를 하나 만들고 진행했다

 

- msvc 2017

cmake -G "Visual Studio 15 2017 Win64" ..
cmake --build . --config Release

 

prompt 창에서 진행해야 한다

위에서도 언급했지만 다운로드 디렉토리위치가 D:\downloads로 다르다


cmd (prompt)

building Fritzing on Windows

윈도우키를 누르고 cmd를 치면 나온다

 


cmake -G "Visual Studio 15 2017 Win64" ..

D:\Downloads>cd fritzing\libgit2

D:\Downloads\fritzing\libgit2>mkdir build64

D:\Downloads\fritzing\libgit2>cd build64

 

D:\Downloads\fritzing\libgit2\build64>cmake -G "Visual Studio 15 2017 Win64" ..

-- The C compiler identification is MSVC 19.16.27038.0

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe - skipped

-- Detecting C compile features

-- Detecting C compile features - done

-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

-- Looking for pthread.h

-- Looking for pthread.h - not found

-- Found Threads: TRUE

-- Performing Test HAVE_STRUCT_STAT_ST_MTIM

 

. . .

 

-- Enabled features:

 * nanoseconds, whether to use sub-second file mtimes and ctimes

 * tracing, tracing support

 * threadsafe, threadsafe support

 * HTTPS, using WinHTTP

 * SHA, using CollisionDetection

 * regex, using bundled PCRE

 * http-parser, http-parser support (bundled)

 * zlib, using bundled zlib

 

-- Disabled features:

 * debugpool, debug pool allocator

 * SSH, SSH transport support

 * ntlmclient, NTLM authentication support for Unix

 * SPNEGO, SPNEGO authentication support

 * iconv, iconv encoding conversion support

 

-- Configuring done

-- Generating done

-- Build files have been written to: D:/Downloads/fritzing/libgit2/build64

D:\Downloads\fritzing>

오류없이 끝났다

 

building Fritzing on Windows

디렉토리를 보니 뭔가 많이도 생겼다

뭔가 끝나보이니  build 해보자


cmake --build . --config Release

D:\Downloads\fritzing\libgit2\build64>cmake --build . --config Release

.NET Framework Microsoft (R) Build Engine 버전 15.9.21+g9802d43bc3

Copyright (C) Microsoft Corporation. All rights reserved.

 

  Checking Build System

  Building Custom Rule D:/Downloads/fritzing/libgit2/src/CMakeLists.txt

  precompiled.c

  alloc.c

  stdalloc.c

  win32_crtdbg.c

  annotated_commit.c

 

 . . .

 

  bare.c

  config.c

  merge.c

  open.c

  reflog.c

  submodule.c

  worktree.c

     D:/Downloads/fritzing/libgit2/build64/tests/Release/libgit2_clar.lib 라이브러리 및 D:/Downloads/fritzi

  ng/libgit2/build64/tests/Release/libgit2_clar.exp 개체를 생성하고 있습니다.

  코드를 생성하고 있습니다.

  코드를 생성했습니다.

  libgit2_clar.vcxproj -> D:\Downloads\fritzing\libgit2\build64\Release\libgit2_clar.exe

  Building Custom Rule D:/Downloads/fritzing/libgit2/CMakeLists.txt

 

D:\Downloads\fritzing\libgit2\build64>

오류가 없이 잘 끝난듯 하다

 

building Fritzing on Windows

Release 디렉토리에 파일 4개가 보인다

잘된건지는 모르겠


fritzing build 준비

git을 설치했다면 clone을 사용하면 된다

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

 

git 설치하기 싫으니 zip파일로 받았는데 결국 설치했다...

https://codeload.github.com/fritzing/fritzing-app/zip/develop

 

전부  fritzing 디렉토리를 만들고 안에 넣어줬다

fritzing-app-develop 디렉토리에 Fritzing 소스가 들어있다

build_script:

- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"

- tools/release_fritzing.bat 0.9.4ci 64 2017

작업내용 참고 : https://github.com/fritzing/fritzing-app/blob/develop/appveyor.yml

 

준비가 됬으니 build를 해야하는데

tools/build-windows.bat 을 살펴보니 결국은 tools/release_fritzing.bat 을 실행한다

tools/release_fritzing.bat 파일을 열어 환경에 맞춰서 수정을 해줘야 한다


tools/release_fritzing.bat 수정

 

Qt 버전이 다르니 설치된 버전으로 바꿔줘야 한다

64bit: set QTBIN=C:\Qt\5.12.9\msvc2017_64\bin

하고보니 Qt버전말곤 수정한곳이 없다...

 

git 설치 없이 해보려고 했는데 배치파일 수정에서 좀 애를 먹었다

배치 공부를 하고싶진 않으니 그냥 pass..

 

building Fritzing on Windows

vscode를 사용하면 저상태에서 바로 build를 할 수 있다


building fritzing

cd fritzing-app-develop

.\tools\build-windows.bat 0.9.4

PS D:\Downloads\fritzing> cd fritzing-app-develop
D:\Downloads\fritzing\fritzing-app-develop> .\tools\build-windows.bat 0.9.4

D:\Downloads\fritzing\fritzing-app-develop>REM echo off

 

D:\Downloads\fritzing\fritzing-app-develop>call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64

**********************************************************************

** Visual Studio 2017 Developer Command Prompt v15.0

** Copyright (c) 2017 Microsoft Corporation

**********************************************************************

**********************************************************************

** Visual Studio 2017 Developer Command Prompt v15.0

** Copyright (c) 2017 Microsoft Corporation

**********************************************************************

[TEST:dotnet.bat] Checking for ilasm.exe...

[TEST:msbuild.bat] checking for msbuild.exe...

[TEST:winsdk.bat] Checking for 'signtool.exe'...

[TEST:winsdk.bat] Checking for 'ucrt.lib' in LIB...

[TEST:winsdk.bat] Checking for 'kernel32.lib' in LIB...

[TEST:winsdk.bat] Checking for 'corecrt.h' in INCLUDE...

[TEST:winsdk.bat] Checking for 'windows.h' in INCLUDE...

[TEST:cmake.bat] Checking for cmake.exe...

[TEST:cmake.bat] Checking for ninja.exe...

[TEST:netfxsdk.bat] .NET FX SDK not installed - skipping test.

[TEST:testwindow.bat] Checking for vstest.console.exe...

[TEST:vcvars.bat] Checking for cl.exe...

[TEST:vcvars.bat] Checking for dumpbin.exe...

[TEST:vcvars.bat] Checking for msvcrt.lib in LIB...

[TEST:vcvars.bat] Checking for vcruntime.h in INCLUDE...
. . .

진행이 되는걸보니 잘되는듯..

중간에 경로문제로 좀에로사항이 꽃을 피우긴했지만…

building Fritzing on Windows

7z 압축 프로그램인데 설치한적이 없으니 에러

 

building Fritzing on Windows

release64\forzip\fritzing-0.9.4.64.pc

Fritzing.exe를 실행하면 화면이 잘나온다

 

build 후기

더보기

docker 배워서 자동화를 사용하는게 정신건강에 좋을지도 모르겠다

직접 해보겠다고 이것저것 건들이다보니 시간도 오래걸리고...

 

호기롭게 git 안쓰고 하려고했는데 경로문제인지 잘안되서 결국 git 사용

libgit2 디렉토리명을 그대로 쓰려고 했지만 배치에서는 괜찮은데 qmake 쪽에서 오류를 토하는 문제

다른 PC에서 시도해보니 msvc Windows SDK version 버전문제가 발생하는데, 이건 아직 해결을 못하고..

목표 sdk 낮으면 호환성으로 해결되야하는게 아닌가 싶은데 안된다..

 

뭐 빌드해놓은게 있으니 그냥 이걸 쓰면 되니 상관없을지도.. 

 

64bit(0.9.4): fritzing.zip

 

참고

- Building Menual: https://github.com/fritzing/fritzing-app/wiki

- CMake: https://cmake.org

- Boost: https://www.boost.org

- libgit2: https://github.com/libgit2/libgit2

- libgit2 make: https://libgit2.org/docs/guides/build-and-link

반응형

'OS > Window' 카테고리의 다른 글

install Microsoft C++ Build Tools 2017  (0) 2020.07.06
install Microsoft C++ Build Tools  (0) 2020.07.06
install Qt 5.12.9 on Windows  (0) 2020.07.06
install CMake on windows  (0) 2020.07.06
install git on Windows  (0) 2020.07.06

관련글 더보기

댓글 영역