【发布时间】:2014-09-21 16:54:22
【问题描述】:
如何在终端mac OS X中使用和安装SystemC?
我尝试了逻辑诗人应用程序,但我使用的是 os x 10.10,所以它不起作用。
所以我想知道如何在终端中编译和执行 SystemC。
我在终端中找不到 SystemC 的详细信息。
谢谢
【问题讨论】:
标签: macos terminal installation systemc
如何在终端mac OS X中使用和安装SystemC?
我尝试了逻辑诗人应用程序,但我使用的是 os x 10.10,所以它不起作用。
所以我想知道如何在终端中编译和执行 SystemC。
我在终端中找不到 SystemC 的详细信息。
谢谢
【问题讨论】:
标签: macos terminal installation systemc
另一个答案是正确的,很好,但是,我想我也会回答并提供更多细节。
安装 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 应用程序
您可以使用通过 Apple 的“命令行工具”获得的典型构建工具 Make,或任何其他选项。我使用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) 文件
【讨论】:
确保您已安装 xcode command line tools。
按照official repository 中提供的说明进行操作。
根据个人经验。
使用 clang 编译 SystemC 库会得到 segmentation fault: 11
每次我在代码中包含systemc 库时都会出错。为了避免这种情况,请改用gcc。
请注意,我使用的是 gcc-8,与 homebrew 一起安装。
$ 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
【讨论】:
INSTALL 文件中找到。
到这里点击第一个链接并填写您的信息以获取源代码
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
【讨论】: