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的官网
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.之后您将进入较长时间的编译等待
等待编译完成就好啦
使用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,需要特殊选择的就是下图位置。
● 使用vcpkg做toolchain, 之后configure开始
● 正常的configure结束之后会报个错,我们需要将下载的swig给选中
他让选择的是下面的那个exe,选中exe之后会自动选中相对应的文件夹和版本号
● 接下来conifgure就不会报错啦,generate也不会报错
● 之后open project 打开文件就可以进行编译啦
● 等待编译完成。