环境:ubuntu 20.04 systemc 2.3.4
1.下载及解压systemc
从官网下载systemc2.3.4,并进行解压
tar -zxvf systemc-2.3.4.tar.gz
- 之所以不下载最新版的3.0.0,是因为运行程序时会报错sc_cmnhdr.h:115:5: error: #error **** SystemC requires a C++ compiler version of at least C++17错误,因此选择降级版本的2.3.4
2.编译并安装Systemc
执行以下代码进行配置
- aclocal和automake --add-missing两行代码不执行可能会在configure时产生报错“config.status: error: cannot find input file: `src/Makefile.in’”,这个错误是由systemc-2.3.4版本带来的,据说2.3.3则没有这个错误
- –prefix后可以根据实际需求设置保存路径
cd systemc-2.3.4/
aclocal
automake --add-missing
mkdir build
cd build
../configure --prefix=/opt/systemc
继续编译
make
sudo make install
至此环境已经按照完毕,可以通过下面的命令查看是否安装成功,若看到systemc文件夹即表示安装成功
cd /opt
ls
也可在build文件夹中运行以下代码检测运行结果,最终PASS结果如下图所示。
make check
3.编译并安装Systemc
通过vim ~/.bashrc 打开.bashrc文件,并添加如下环境变量
- 我这里的保存路径为/opt/systemc,若配置时选择将systemc安装在其他地方,需要相应的修改地址
- SYSTEMC_DISABLE_COPYRIGHT_MESSAGE=1可以不需要,这样在每次运行时会自动打印systemc的著作权"SystemC 2.3.0-ASI — Jun 18 2013 16:21:08 Copyright © 1996-2012 by all Contributors, ALL RIGHTS RESERVED"
#systemc
export SYSTEMC_HOME=/opt/systemc/
export LD_LIBRARY_PATH=/opt/systemc/lib-linux64:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=C_INCLUDE_PATH:/opt/systemc/include
export CPLUS_INCLUDE_PATH=CPLUS_INCLUDE_PATH:/opt/systemc/include
export LIBRARY_PATH=/opt/systemc/lib-linux64:$LIBRARY_PATH
export SYSTEMC_DISABLE_COPYRIGHT_MESSAGE=1
3.编写测试文件
创建一个main.cpp文件,并将以下内容复制进去
// main.cpp
#include <systemc.h>
SC_MODULE (hello_world) {
SC_CTOR (hello_world) {
SC_THREAD(say_hello);
}
void say_hello() {
cout << "Hello World SystemC" << endl;
}
};
int sc_main(int argc, char* argv[]) {
hello_world hello("HELLO");
sc_start();
return (0);
}
保存后执行如下命令编译并运行,即可观察到输出helloworld
g++ main.cpp -lsystemc -o hello
./hello
至此,Systemc已成功按照,可以愉快的使用了~