如何在终端mac OS X中使用和安装 SystemC ? 我尝试了逻辑诗人应用程序,但我使用os x 10.10所以它不起作用 所以我想知道如何在终端中编译和执行SystemC 我无法在终端找到SystemC的详细信息。
谢谢
答案 0 :(得分:2)
另一个答案是正确而完美的,然而,我想我也会回答并提供更多细节。
安装Apple的“命令行工具”
您有两个选择:安装Xcode(大型下载),或只是命令行工具(更小的下载)。如果您的目标只是在命令行构建SystemC应用程序,那么我建议使用后者。
通过启动终端,输入
来安装Apple的“命令行工具”$ xcode-select --install
然后单击“安装”。之后,您将在命令行中获得make
,clang
和更多内容。
构建并安装Accellera的SystemC实施
从Accellera Downloads page下载最新版本(烦人的是,您必须提供一些个人详细信息)并提取.zip文件的内容。
我喜欢保留SystemC源代码的副本,因为它可用于调试或理解某些内容的工作原理。因此,我将提取的文件夹(systemc-2.3.1
)移动到~/Work/Other
。这就是我保留第三方库源代码的地方。但是,您可以将它放在任何您喜欢的地方。
打开终端,切换到解压缩的文件夹(systemc-2.3.1
),然后执行:
$ mkdir build
$ cd build
$ export CXX=clang++
$ ../configure --with-arch-suffix=
$ make install
--with-arch-suffix=
选项可防止-macosx64
后缀添加到lib
文件夹名称,从而使您的构建脚本更简单。
在此过程之后,include
文件夹中应该提供突出的lib
和systemc-2.3.1
文件夹。
配置您的构建环境
有很多方法可以做到这一点;我有一个简单的方法,我认为它接近于SystemC维护者所设想的。我在.bash_profile
中定义了两个环境变量(在OS X上为每个新的终端会话执行):
export CXX="clang++ -fcolor-diagnostics"
export SYSTEMC_HOME=~/Work/Other/systemc-2.3.1
构建SystemC应用程序
你可以使用Make,这是典型的构建工具,你可以使用Apple的“命令行工具”,或任何其他众多选项。我将SCons与SConstruct
文件一起使用,如下所示:
import os
env = Environment(CXX=os.environ["CXX"],
SYSTEMC_HOME=os.environ["SYSTEMC_HOME"],
CPPPATH="$SYSTEMC_HOME/include",
LIBPATH="$SYSTEMC_HOME/lib")
env.Program("main.cpp", LIBS="systemc")
查看跟踪(VCD)文件
答案 1 :(得分:1)
确保已安装xcode command line tools。
遵循official repository中提供的说明。
根据个人经验。
使用clang
编译SystemC库会导致segmentation fault: 11
每当我在代码中包含systemc
库时都会出错。为避免这种情况,请改用gcc
。
请注意,我使用的是homebrew安装的gcc-8。
$ cd path/to/systemc-2.3.3
$ mkdir objdir
$ cd objdir
$ export CXX=g++-8
$ ../configure
$ make
$ make install
使用$ make check
启动示例编译和单元测试。
要编译并运行hello world example:
$ export SYSTEMC_HOME=path/to/systemc-2.3.3
$ g++-8 hello.cpp -o hello.o -L $SYSTEMC_HOME/lib-macosx64 -I $SYSTEMC_HOME/include/ -l systemc
$ ./hello.o
在macOS 10.13.6上测试; gcc版本8.2.0; systemc-2.3.3
答案 2 :(得分:0)
点击第一个链接并填写您的信息以获取源代码
http://www.accellera.org/downloads/standards/systemc
然后cd
到文件夹
然后运行以下命令
./configure --with-unix-layout
gmake
sudo gmake install
gmake clean
执行此操作后,应将其全部保存在use / local /(lib& include)目录中
在代码中执行此操作 #include" systemc.h"
我通常使用单个makefile。但您可以编写以下内容来链接库。鉴于您的cpp文件名为main。
g++ -o main main.cpp -I/usr/local/include -L/usr/local/lib -lsystemc