klayout开发各种问题

331 阅读1分钟

klayout调用db::init()出错

当路径中存在中文时,db::init()中调用的tl::get_module_path ((void *) &init)返回值是错误的,更具体一点就是dladdr (addr, &info)这个函数会出错,改到没有中文的路径就可以了。

运行klayout编译出的二进制文件报错 libklayout_bd.so.1

错误提示如下

解决方法 将编译输出目录添加到环境变量 编辑~/.bashrc,添加以下代码 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/qqs/桌面/klayout-0.28.5/build-klayout-Desktop_Qt_5_12_12_GCC_64bit-Debug 修改完成后执行source ~/.bashrc立即生效

klayout读取gds文件时报错db::ReaderUnkonwnFormatException

执行db::Reader reader (instream)创建一个Reader对象,报错如下所示 这是因为没有将各类数据格式进行加载导致的,在dbInit.cc文件中的init()函数中有如下代码段,其中load_plugin就是用来加载各类数据格式。 因此在进行各类读写操作时,需要先调用db::init()函数进行初始化

klayout中如何进行单元测试

首先klayout是提供了相应的工具的,进入到构建目录下,添加以下环境变量并运行./ut_runner就会自动跑测试

export TESTTMP=testtmp    # path to a directory that will hold temporary data (will be created)
export TESTSRC=..         # path to the source directory
./ut_runner

当我们需要跑特定的单元测试时候,只需将单元测试的名称做为参数传入即可。