ns-2.29_mpolsr.rar
ファイルは壊れており、の作成者はを変更mpolsr
しただけで、は変更してMakefile
いませんMakefile.in
。したがって、を実行する./configure
と、の変更が消去されますMakefile
。
コンパイルするために必要な手順は次のとおりです。
1.:を編集しMakefile.in
ます
olsr
ディレクトリとmpolsr
をINCLUDES
変数に追加します。次のようになります。
INCLUDES = \
-I. \
@V_INCLUDES@ \
-I./tcp -I./sctp -I./common -I./link -I./queue \
-I./adc -I./apps -I./mac -I./mobile -I./trace \
-I./routing -I./tools -I./classifier -I./mcast \
-I./diffusion3/lib/main -I./diffusion3/lib \
-I./diffusion3/lib/nr -I./diffusion3/ns \
-I./diffusion3/filter_core -I./asim/ -I./qs \
-I./diffserv -I./satellite \
-I./wpan -I./olsr -I./mpolsr
mpolsr
のオブジェクトファイルをOBJ_CC
変数に追加します。次のような行を追加する必要があります(真ん中の行が新しい行です)。
olsr/OLSR.o olsr/OLSR_state.o olsr/OLSR_rtable.o olsr/OLSR_printer.o \
mpolsr/MPOLSR.o mpolsr/MPOLSR_state.o mpolsr/MPOLSR_m_rtable.o mpolsr/MPOLSR_printer.o mpolsr/MPOLSR_rtable.o\
common/ns-process.o \
新しいバージョンのを使用している場合は、ディレクティブgcc
も追加する必要があり-fpermissive
ます。そうしないと、コンパイルに失敗します。これを行うには、.cc.o:
ディレクティブを次のように変更します。
.cc.o:
@rm -f $@
$(CPP) -fpermissive -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc
2.configureスクリプトを実行可能にします
ns-2.29_mpolsr
ディレクトリで、を実行します
chmod +x configure
3.構成スクリプトを実行します
nsのallinoneバージョンに応じて、次のように実行します。
./configure --with-otcl=$PWD/../otcl-1.13/ --with-tclcl=$PWD/../tclcl-1.19/
上記のバージョン番号はns-allinone-2.34
4.作る
同じディレクトリで実行
make -j100
上記をで確認しましたgcc-4.6.3
が、で動作するはずgcc-4.7
です。