klayout

版本:klayout-0.26.9

我的系统环境:Deepin20(可以视为Debian)

修改过的代码地址:https://github.com/stuartofmine/klayout

注意,对源代码有所修改。主要在于解决编译错误和加快编译速度。

需要安装的工具如下:

C ++ :gcc,g ++和make

Qt:libqt4-dev-bin和libqt4-dev,qt4-qmake

Ruby:ruby和ruby-dev

Python:python3和python3-dev

zlib:libz-dev

加速编译:ccache

qmake

进入klayout目录下,打开终端,输入

./build.sh -j8 -ruby /usr/bin/ruby

默认调用qmake,使用-j8设置为八线程。使用-j32设置32线程运行。具体线程数根据内核数而定。注意,这里没有加-debug选项,因此不能用gdb调试。

如果报错提示找不到qmake,输入

sudo apt install qt4-qmake

等待编译完成。

如果提示找不到QString等库,请排查前述的依赖工具是否已安装

编译成功

进入 bin-release目录下

输入,注意,由于shell版本不同,可能需要改为~/.zshrc

vim ~/.bashrc

在目录最后输入

export LD_LIBRARY_PATH=“你的bin-release目录路径”

保存并退出

输入.注意,由于 shell 解释器不同,可能需要改为~/.zshrc

source ~/.bashrc

再输入

./klayout

成功:)

qtcreator

1.在项目-Build中关闭 shadow build。在额外参数一栏,输入:

HAVE_RUBY=1
RUBYVERSIONCODE=20505
RUBYINCLUDE=/usr/include/ruby-2.5.0
RUBYINCLUDE2=/usr/include/x86_64-linux-gnu/ruby-2.5.0
RUBYLIBFILE=/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5.0

注意,所用ruby版本为ruby-2.5.0版本,其他版本对上述代码更改版本号即可。

2.在项目-Run-运行配置中修改运行配置为klayout_main。

在Command line arguments一栏输入

-e

-e是为了开启编辑模式,编辑DRC之类的必须开启。

3.当QTcreator使用的qmake为qt5时,应将layMainWindow.h中的

#include <QPrinter>

改为

#include <QtPrintSupport/QPrinter>

同时,需要在lay.pro中添加

QT += printsupport

保存。

4.假如内存不到8G,可能会被中止,使用

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

来创建交换分区。

5.关闭shadow build后,生成的动态库位于src目录下(若不关闭则生成一个build-klayout-Desktop-xxxxxxxx目录)

与bin-release目录同样的,将src目录加入/.bashrc。注意,由于版本不同,在ubuntu服务器上应为/.zshrc

vim ~/.bashrc

在其末尾添加

export LD_LIBRARY_PATH=“你的src目录路径”

保存并退出,注意,由于 shell 解释器不同,可能需要改为~/.zshrc

source ~/.bashrc

6.如果遇到Makefile错误,提示plugins目录下无法编译完成。形如下图

这是由于src目录下的Makefile进入plugins子项目流程时,没有清除上一次失败构建留下的Makefile,并且一共有三个Makefile需要清除。

暂时对src目录下的Makefile不作修改,打开终端,进入src/plugins目录,输入

rm Makefile */Makefile

即可。

如果不起作用,修改shadow build选项(开启就改为关闭,关闭就改为开启)。

7.点击编译。耗时约十分钟。

8.成功:)

gdb

需要在编译时加入 -debug 选项。操作示例:

gdb ./klayout
b rba.cc:134
Make breakpoint pending on future shared library load? (y or [n]) y
r

以上代码在rba.cc的134行加入了一个断点。

直接使用.drc编译,不开GUI

将你需要的.drc 放在src目录下(关闭shadow build时)

在Qt的项目->run->Command line arguments里内输入

-x set args -d 41 -b -r ./你的drc文件 -zz

这样不会开启GUI界面,但是断点调试之类与之前一致。

使用指南(青春版)

浏览量不小,顺便更新一下使用指南(青春版)。详询官网。

打开klayout后,先通过左上角"file"栏下的"New Layout"新建layout,再通过"Edit"栏下的"Layer"-->"New Layer"新建layer。

通过第二栏的各种Polygon和Box之类,在这个Layer上尽情发挥你熊熊燃烧的艺术才能。需要说明的是,一个Layout里可以有多个Layer。

在"Tools"栏下的"DRC"--->"New DRC Script"里,编辑DRC文件并运行。

再写下去就是各种细节了,请查询官网 klayout.de

klayout安装及使用教程的更多相关文章

  1. CentOS7下自定义目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用自定义目录安装mono+jexus教程,使用默认目录请查看使用默认目录安装 ...

  2. 【转】真正从零开始,TensorFlow详细安装入门图文教程!(帮你完成那个最难的从0到1)

    AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲& ...

  3. CentOS7下默认目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用默认目录安装mono+jexus教程,使用自定义目录请查看使用自定义目录安 ...

  4. << CocoaPods安装和使用教程 >>github code4app以及cocoachina 苹果官方文档

    developer.apple.com 英文搜索各个技术的官方介绍文档, 前提是英文过关 cocoachina ios最新新闻, 信息 code4app上有许多组件 http://www.code4a ...

  5. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  6. NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者

    NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...

  7. 安装WordPress详细教程指南

    最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...

  8. 纯windows下制作变色龙引导安装U盘教程

    原创教程:纯windows下制作变色龙引导安装U盘教程 支持Mavericks和Yosemite 支持白苹果 目标:windows下制作带 Chamelon变色龙引导的黑苹果安装U盘,支持PC机引导安 ...

  9. 最详细在Windows安装Xamarin.iOS教程

    最详细在Windows安装Xamarin.iOS教程 来源:http://www.cnblogs.com/llyfe2006/articles/3098280.html 本文展示了如何设立Xamari ...

随机推荐

  1. Windows server 2003域控迁移到2012

    1:  windows server 2003 额外域控升级为 windows server 2003主域控 (因为原域控制器某些服务损坏,于是采用将备用域控升级为主域控的方法) https://we ...

  2. vscode 终端操作命令npm报错

    错误: 如果没有安装的node.js ,则需要安装. node.js官网下载地址: https://nodejs.org/zh-cn/ 安装node.js 后会看到C:\Users\XXX\AppDa ...

  3. Jenkins + Docker + ASP.NET Core自动化部署

    本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包.下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是有一些的,写 ...

  4. linux网络编程中INADDR_ANY的含义

    INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或&q ...

  5. [BUAA2021软工]结对第一阶段博客作业小结

    作业链接 结对项目-第一阶段 优秀作业推荐 本次博客作业虽然是简单总结,但是以下作业中都不乏有思考.有亮点的精彩内容,推荐给同学们阅读学习. 山鸣谷应,相得益彰--杰对项目-第一阶段总结 该组对于可能 ...

  6. 项目展示$\beta$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 Beta阶段项目展示 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目 ...

  7. Pytorch_Part2_数据模块

    VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...

  8. gparted 当分区空间大于1T 用gparted分区

    lsblkfdisk -lparted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 100%lsblk dfparted ...

  9. ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha

    ARM64平台编译stream.netperf出错解决办法 http://ilinuxkernel.com/?p=1738 stream编译出错信息: [root@localhost stream]# ...

  10. 034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法

    Python的其他方法 1 __str__方法 触发时机: 使用print(对象)或者str(对象)的时候触发 功能: 查看对象信息 参数: 一个self接受当前对象 返回值: 必须返回字符串类型 基 ...