KiCad 编译

简介: 官网说在5.99和最终的6.0版本已经切换到msvc了,虽然还支持msys2但是可能支持不好。我再使用msys2编译最新的7.0的时候编译会报一个boost错误,我猜测应该是msys2下载的boost版本太低,而最新版本使用的一些函数已经找不到实现了,所以我下载了一个6.0版本的KiCad来使用msys2编译

KiCad 编译

因为最新项目需要,所以看了一下KiCad的编译,这里介绍的是64位电脑的编译,32位小伙伴请绕道官网看教程呦。


您可以在KiCad内查看基本的编译教程。


我这里也是参考的官网编译教程进行的编译,接下来让我们一起看看吧。


使用msys2编译KiCad

官网说在5.99和最终的6.0版本已经切换到msvc了,虽然还支持msys2但是可能支持不好。我再使用msys2编译最新的7.0的时候编译会报一个boost错误,我猜测应该是msys2下载的boost版本太低,而最新版本使用的一些函数已经找不到实现了,所以我下载了一个6.0版本的KiCad来使用msys2编译


首先需要下载一个msys2。 这里是MSYS2的官网

c34a8e5353434c65a597fd0beb7b44ee.png


1.点击红框位置下载相关软件。

2.进入到安装包内使用msys2_shell.cmd运行(这里请跟步骤,一定要到安装包内点击cmd的运行文件运行)

3.在运行的程序中输入pacman -Syu,等执行完成后关闭界面。

4.打开mingw64.exe

5.执行如下代码:

# 首先需要安装对应的包,下面的代码需要一句一句执行
pacman -S base-devel
pacman -S git
pacman -S mingw-w64-x86_64-cmake 
pacman -S mingw-w64-x86_64-doxygen 
pacman -S mingw-w64-x86_64-gcc 
pacman -S mingw-w64-x86_64-python2 
pacman -S mingw-w64-x86_64-pkg-config 
pacman -S mingw-w64-x86_64-swig 
pacman -S mingw-w64-x86_64-boost 
pacman -S mingw-w64-x86_64-cairo 
pacman -S mingw-w64-x86_64-glew 
pacman -S mingw-w64-x86_64-curl 
pacman -S mingw-w64-x86_64-wxPython 
pacman -S mingw-w64-x86_64-wxmsw3.1  # 该句如果执行不成功可以跳过该句的执行
pacman -S mingw-w64-x86_64-toolchain 
pacman -S mingw-w64-x86_64-glm 
pacman -S mingw-w64-x86_64-opencascade 
pacman -S mingw-w64-x86_64-ngspice 
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-openssl
# 下面进入您拷贝的项目路径
cd kicad-source
mkdir -p build/release
mkdir build/debug # 该句是为了debug的版本保留的,如果您不需要可以不执行该句
cd build/release
# 下面执行cmake构建项目
cmake -DCMAKE_BUILD_TYPE=Release \
      -G "MSYS Makefiles" \
      -DCMAKE_PREFIX_PATH=/mingw64 \
      -DCMAKE_INSTALL_PREFIX=/mingw64 \
      -DDEFAULT_INSTALL_PATH=/mingw64 \
      -DOCC_INCLUDE_DIR=/mingw64/include/opencascade \
      -DKICAD_SCRIPTING=OFF \
      -DKICAD_SPICE=OFF \
      ../../
# cmake 完成之后make项目
make # 您也可以选择多线程make -j N
make install

6.在上面操作完成执行cmake的时候,可能会报一个错(Not Found wxWidgets 3.2.2.1)这个时候我们执行

pacman -R mingw-w64-x86_64-wxPython   
pacman -R mingw-w64-x86_64-wxwidgets3.2-msw 
pacman -S mingw-w64-x86_64-wxWidgets
pacman -S mingw-w64-x86_64-wxPython
pacman -S mingw-w64-x86_64-wxmsw3.2

这里就是卸载调冲突的包,重新安装对应的包,安装完成之后记得重启你的msys2控制台


7.之后您将进入较长时间的编译等待

e11193f31c7c4cdaa5079abccc532eec.png

等待编译完成就好啦


使用Visual Studio 编译KiCad

1.首先你需要下载如下软件:


VCPKG

vcpkg: 你可以点击该链接或者是使用如下代码获取对应的exe

// 获取vcpkg
git clone https://github.com/microsoft/vcpkg.git
// 执行该句获取vcpkg.exe
.\vcpkg\bootstrap-vcpkg.bat

SWIG

swig:你可以点击该链接下载swig,我下载的是swigwin-4.1.1


2.接下来你需要使用vcpkg安装以下依赖

./vcpkg.exe install glew glm boost wxwidgets curl cairo

3.然后你需要尝试将你的CMakeSetting.json修改为如下:

{
  // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file.
  "configurations": [
    {
      "name": "x86-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x86" ],
      "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
      "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "-v",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "KICAD_SPICE",
          "value": "OFF"
        },
        {
          "name": "KICAD_USE_OCE",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_WXPYTHON",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_MODULES",
          "value": "OFF"
        }
      ],
      "cmakeToolchain": "E:/vcpkg/scripts/buildsystems/vcpkg.cmake"
    },
    {
      "name": "x86-Release",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "msvc_x86" ],
      "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
      "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "-v",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "KICAD_SPICE",
          "value": "OFF"
        },
        {
          "name": "KICAD_USE_OCE",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_WXPYTHON",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_MODULES",
          "value": "OFF"
        }
      ],
      "cmakeToolchain": "E:/vcpkg/scripts/buildsystems/vcpkg.cmake"
    },
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
      "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "-v",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "KICAD_SPICE",
          "value": "OFF"
        },
        {
          "name": "KICAD_USE_OCE",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_WXPYTHON",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_MODULES",
          "value": "OFF"
        }
      ],
      "cmakeToolchain": "E:/vcpkg/scripts/buildsystems/vcpkg.cmake"
    },
    {
      "name": "x64-Release",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
      "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "-v",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "KICAD_SPICE",
          "value": "OFF"
        },
        {
          "name": "KICAD_USE_OCE",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_WXPYTHON",
          "value": "OFF"
        },
        {
          "name": "KICAD_SCRIPTING_MODULES",
          "value": "OFF"
        }
      ],
      "cmakeToolchain": "E:/vcpkg/scripts/buildsystems/vcpkg.cmake"
    }
  ]
}

或者你也可以按照教程上的一样修改.sample那个json。


修改自带的CMakeSetting.json.sample更简单,所以我决定修改CMakeSetting.json修改为.sample内的内筒


但是你要记得修改

{ "VcPkgDir": "D:/vcpkg/" }

这一条,修改为你的vcpkg所在的位置。


vcpkg将包安装完成之后打开kicad,我这里下载的时候kicad最新的是7.0版本,所以我下载的是7.0.0的kicad。


这样尝试了一下,不行,cmake报错,无法生成可编译的项目文件,但是别急,我又使用cmake可视化文件编译了一下。可能是我的vs自带的camke版本太低或者其他原因,总之我是不能编译的,你可以试一下你的,如果可以就不用看下面的教程了。


fuck,为什么我的不行啊,是不是哪里出问题了呀。换种思路:


使用cmake可视化工具+vs2019编译kicad

●  正常的选择kicad和编译文件夹之后点击configure,需要特殊选择的就是下图位置。

61c3a3b4a8234f9e91aecb1b0d67d006.png

●  使用vcpkg做toolchain, 之后configure开始

e561d392805a49b6a6c06477094fa333.png

正常的configure结束之后会报个错,我们需要将下载的swig给选中

0fe84864685842e9aeeef88f0459aadb.png

他让选择的是下面的那个exe,选中exe之后会自动选中相对应的文件夹和版本号


 ● 接下来conifgure就不会报错啦,generate也不会报错

 ● 之后open project 打开文件就可以进行编译啦

d2a73f6ffae74e43aa4869dde0d17100.png

等待编译完成。

51b61bdd5630450c9d235f06f66c3028.png

目录
相关文章
|
存储 缓存 编解码
KiCad 插件
AD 文档转 KiCad 文件。 InteractiveHtmlBom kicad_text_tool kicad_tools kicad-action-scripts
1796 0
KiCad 插件
|
8月前
|
前端开发 Unix 开发工具
windows使用cygwin编译Xyce
windows使用cygwin编译Xyce
106 0
|
Dart Java 编译器
Android编译器及编译工具之编译器
习惯了IDE以及各种现成的编译工具为我们提供便捷的编译方式,我们很少会操心编译工具的编译过程和原理,但是工具越高级,隐藏的细节就越多,这样编译遇到问题时我们难以定位,遇到复杂的项目(尤其跨平台项目难以用ide)时不知如何下手。所以准备写两篇关于编译器和编译工具的文章。本文先来介绍编译工具。
229 0
|
编译器 C++
使用64位的编译工具进行编译
本文记录了使用64位的编译工具进行编译的过程
|
芯片 内存技术
Keil-MDK编译完成后代码大小
Keil-MDK编译完成后代码大小
253 0
|
XML Java 编译器
Android编译器及编译工具之编译工具
Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金会所提供。Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。
414 0
|
自然语言处理 编译器 Linux
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(二)
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解
617 0
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(二)
|
存储 Ubuntu Unix
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(一)
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解
377 0
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(一)
|
NoSQL 编译器 Linux
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(三)
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解
346 0
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(三)
|
iOS开发
CMake教程7:安装与编译
CMake教程7:安装与编译
422 0