ns-2.29_mpolsr.rar
文件被破壞,因爲mpolsr
的作者只更改了Makefile
,但沒有更改Makefile.in
。因此,當您運行./configure
時,您將清除Makefile
中的更改。
這些都是你需要編譯它做的步驟:
1.編輯Makefile.in
:
添加目錄olsr
和mpolsr
到INCLUDES
變量。它應該是這樣的:
INCLUDES = \
-I. \
@[email protected] \
-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 [email protected]
$(CPP) -fpermissive -c $(CFLAGS) $(INCLUDES) -o [email protected] $*.cc
2.配置腳本可執行
在ns-2.29_mpolsr
目錄,運行
chmod +x configure
3.運行配置腳本
Dependi納克在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
。
非常感謝。我沒有期待這麼詳細的答案太快。非常感謝。 – summer
它非常有效。但我不能積極點我有較少的點。 – summer
做到了:-)再次感謝...... – summer