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
当我们需要跑特定的单元测试时候,只需将单元测试的名称做为参数传入即可。