スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SystemC-2.3公開レビュー版を動かす

Ubuntu11.10にSystemC-2.3公開レビュー版をインストール」でインストールして Exampleを動かしたので、次は自分で作ったものを動かしてみました。

sc_main.cpp


 1 #include <stdio.h>&nbs    p;
 2 #include <systemc.h>
 3 
 4 int sc_main(int argc, char *argv[]) {
 5 
 6     printf("Simulation Start!!!\n");
 7     sc_start(10, sc_core::SC_NS);
 8 
 9     return  0;
10 }

Makefile


  1 SYSTEMC_HOME    = <インストール先PATH(--prefix指定)>
 2 TARGET_ARCH     = linux
 3 
 4 SYSTEMC_INC_DIR $(SYSTEMC_HOME)/include
 5 SYSTEMC_LIB_DIR $(SYSTEMC_HOME)/lib-$(TARGET_ARCH)
 6 
 7 # LIBTOOL Setting
 8 SHELL           = /bin/bash
 9 LIBTOOL_DIR     = <インストール実行時のPATH>/objdir
10 LIBTOOL         $(SHELL) $(LIBTOOL_DIR)/libtool
11 
12 GXX             = g++
13 GCC             = gcc
14 LD              = g++
15 
16 FLAGS           = -g -Wall -pedantic -Wno-long-long \
17                  -DSC_INCLUDE_DYNAMIC_PROCESSES -fpermissive \
18                  -I$(SYSTEMC_INC_DIR) 
19 LDFLAGS         = -L$(SYSTEMC_LIB_DIR) -lsystemc -lm
20 
21 SRCS = sc_main.cpp
22 OBJS=$(SRCS:.cpp=.o)
23 
24 # main
25 main: $(OBJS)
26     $(LIBTOOL) --mode=link --tag=CXX g++ -o $@ $(OBJS) $(LDFLAGS)
27 
28 .cpp.o:
29     g++ -c $(FLAGS) $<
30 
31 %.o: %.c
32     $(LIBTOOL) --mode=compile gcc -Wall -c $<
33 
34 clean:
35     rm -f main *.o *.lo
36     rm -rf .libs
ポイントはリンカ時に「libtool」を使用するということです。
Makefileの26行目が該当する部分になります。
「libtool」を使わない場合は実行時にライブラリがないとエラーになります。


libtoolの場所はインストールする際に作成した「objdir」内にあります。
「libtool」については、私はこちらを参照しました。

コンパイルして実行した結果がこちらになります。


ちゃんと実行出来てますね!
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。