易飞滔Todd | 次生进化

在Ubuntu上安装SystemC

本人装这个完全是由于混学分而选课造就的悲剧。简单的来说,SystemC是用软件代码YY硬件的一个玩意儿。

1,获取源码请到http://www.systemc.org/downloads/standards/,需要先注册一下该网站。我的gcc版本是4.1,下面的安装体会供参考。

2,在许多版本的Linux下直接按其install文件提示安装都会有编译错误:

../../../../src/sysc/utils/sc_utils_ids.cpp: In function ‘int sc_core::initialize()’:
../../../../src/sysc/utils/sc_utils_ids.cpp:110: error: ‘getenv’ is not a member of ‘std’
../../../../src/sysc/utils/sc_utils_ids.cpp:111: error: ‘strcmp’ was not declared in this scope

需要修改一下出错的源文件sc_utils_ids.cpp,是包含关系上的bug,在源代码的最前面加上:#include "string.h",include "cstdlib"

3,还有一个问题就是编译中要用到gmake,Ubuntu中已经取消了,直接用make代替了,可以一劳永逸的做个链接:

$ sudo ln -s /usr/bin/make /usr/bin/gmake

4,接下来就基本上按install文件提示步骤安装了:

$ tar –xvzf systemc-2.2.0.tgz              //解压缩
$ cd system-2.2.0
$ mkdir objdir          //建立临时文件夹,用于存放SystemC安装文件
$ cd objdir //接下来的命令在objdir下运行
$ export CXX=g++
 ../configure --prefix= my_path //执行配置文件,指定SystemC的安装路径
$ gmake             //编译SystemC
$ gmake install    //安装SystemC`

5,编译和运行的基本使用方法:

$ g++ my_systemc.cpp -I my_path/systemc-2.2.0/include -L $my_path/systemc-2.2.0/lib-linux -lsystemc -o my_systemc
$ ./my_systemc