

ubuntu16.04にns-2を導入し、サンプルのプログラミングをセットアップしています。サンプルのソースにはtclファイルをはじめ、C++のファイル

[code]

    ALM_app.h、ALM_app.cc
    ALMtree.h、ALMtree.cc
    ALM_con.h、ALM_con.cc
    ALMData.h、ALMData.cc
    ALM_params.h
    
[/code]

があります。

しかし、makeコマンドを使って再コンパイルする際に下記のようなエラーがたくさん出てしまいます。

[code]

        ~/ns-allinone-2.34/ns-2.34$ make
       　～略～
        In file included from myworkspace/ALM_app.h:7:0,
                         from myworkspace/ALM_app.cc:4:
        myworkspace/ALMtree.h:28:1: warning: ‘typedef’ was ignored in this declaration
         };
         ^
        In file included from myworkspace/ALM_app.h:8:0,
                         from myworkspace/ALM_app.cc:4:
        myworkspace/ALM_con.h: In destructor ‘ALMDataBuf::~ALMDataBuf()’:
        myworkspace/ALM_con.h:21:11: warning: possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
            delete data_;
                   ^
        myworkspace/ALM_con.h:21:11: warning: invalid use of incomplete type ‘class ALMData’
        myworkspace/ALM_con.h:9:7: note: forward declaration of ‘class ALMData’
         class ALMData;
        　
        ～略～
    
        myworkspace/ALM_app.cc: In member function ‘Node* 
        ALMApp::search_newP()’:
        myworkspace/ALM_app.cc:2952:1: warning: control reaches end of non-void function [-Wreturn-type]
        }
        ^
        myworkspace/ALM_app.cc: In member function ‘ALMData 
        ALMApp::createtempMessage(ALMData, int)’:
        myworkspace/ALM_app.cc:3329:1: warning: control reaches end of non-void 
        function [-Wreturn-type]
        }
        ^
        Makefile:93: ターゲット 'myworkspace/ALM_app.o' のレシピで失敗しました
        make: *** [myworkspace/ALM_app.o] エラー 1
        ~/ns-allinone-2.34/ns-2.34$
    
[/code]

このエラーの解決方法をご教授いただけないでしょうか。よろしくお願い致します。

これらのファイルを含めてセットアップすべく、下記にセットアップまでの手法を明記します。  

[code]

    　　１．ns-2.34ディレクトリ内にソースファイルを丸ごと置く
        ２．ns-2.34ディレクトリ内にあるMakefile.inファイルに下記を追加する。
    
            　～略～
            wpan/p802_15_4nam.o wpan/p802_15_4phy.o \
            wpan/p802_15_4sscs.o wpan/p802_15_4timer.o \
            wpan/p802_15_4trace.o wpan/p802_15_4transac.o \
            myworkspace/ALM_app.o \　　<-追加行
            myworkspace/ALMtree.o \　　<-追加行
            myworkspace/ALM_con.o \　　<-追加行
            myworkspace/ALMData.o \　　<-追加行
            apps/pbc.o \
            　～略～
        　　だいたい328行目くらいに書かれている。
    
        ３．NS2を再コンパイルする。ns-2.34ディレクトリ内で下記コマンドを実行
           # ./configure 
           # make clean　
           # makedepend 
           # make   ←エラー
           # make install
    
[/code]


CC BY-SA 4.0
2018-11-26T03:22:02.763
50627
2020-12-12T02:01:25.063
2018-11-28T04:50:21.313
30760
30760
question
ubuntu unix
NS2のmakeでの再コンパイルがうまくいきません


たとえば、「 myworkspace/ALM_app.cc:2952:1: warning: control reaches end of non-void
function [-Wreturn-type]」は、  
[直訳：返り値がある関数(non-void
function)なのに、(値を返さないままで)コードの最後まで実行されてしまいました]（ちゃんとした返り値がないので、プログラムが正常に動作していない恐れがある）  
という説明と、そのエラーが発生したコードの箇所（myworkspace/ALM_app.ccというファイルの2952行目あたり）が示しているのですから、それらを参考にプログラムを修正してください。

ファイルに書かれているプログラムに問題があるのですから、それを放置したままで、どんなにセットアップを変更してみても正常に動くようにはなりません。

具体的な助言が欲しいのであれば、問題が起きているプログラムを質問に追加するのが良いと思います。  
どんなコードなのか判らないプログラムの修正方法が判るプログラマは、まず居ませんから。


CC BY-SA 4.0
2018-11-28T08:30:58.070
50712
2018-11-28T08:30:58.070
217
50627
answer


こちらのエラーはC++ファイルと異存関係にあったファイルが同じフォルダに含まれていないことによるエラーでした。


CC BY-SA 4.0
2018-12-05T08:27:45.213
50930
2018-12-05T08:27:45.213
30760
50627
answer