2016-11-21 7 views
0

StackOverflowが今日私を助けてくれるのだろうかと思っていました!だから私は現在Uniの私のCSコースの一つでC言語のプロジェクトを終えています。私は面白い問題に遭遇しています。 OSX環境でコマンド「make」と「make test」を使うとうまく動作しますが、Ubuntu Virtual Machineでテストすると、次のようなエラーが表示されます:メイクファイルはOS Xでは動作しますが、Ubuntuでは動作しません

make:prim:コマンドが見つかりません

makefile:32:target 'のレシピが失敗しました。

メイク:*** [テスト]エラー127ここ

は私のメイクファイルのコードは、以下のいずれかのヘルプは高く評価されています。

OBJS = main.o scanner.o AM.o binheap.o CDLL.o node.o prim.o vertex.o 
OPTS = -Wall -Wextra -g -std=c99 

main : $(OBJS) 
    gcc $(OPTS) $(OBJS) -o prim -lm 

main.o : main.c scanner.h AM.h binheap.h CDLL.h node.h prim.h vertex.h 
    gcc $(OPTS) -c main.c 

scanner.o : scanner.c scanner.h 
    gcc $(OPTS) -c scanner.c 

node.o : node.c node.h 
    gcc $(OPTS) -c node.c 

AM.o : AM.c AM.h 
    gcc $(OPTS) -c AM.c 

prim.o : prim.c prim.h 
    gcc $(OPTS) -c prim.c 

binheap.o : binheap.c binheap.h 
    gcc $(OPTS) -c binheap.c 
CDLL.o : CDLL.c CDLL.h 
    gcc $(OPTS) -c CDLL.c 

vertex.o : vertex.c vertex.h 
    gcc $(OPTS) -c vertex.c 

test: prim 
    @echo ############################### 
    @echo TESTING GRAPH1.TXT 
    @echo prim graph1.txt 
    @echo ############################### 
    prim graph1.txt 
    @echo ############################### 
    @echo TESTING GRAPH2.TXT 
    @echo prim graph2.txt 
    @echo ############################### 
    prim graph2.txt 
    @echo ############################### 

clean : 
    rm -f $(OBJS) main 

答えて

0

は、私はあなたがこれを変更したいと思う:

main : $(OBJS) 
    gcc $(OPTS) $(OBJS) -o prim -lm 

に:primがパス上に何とかしない限り

prim : $(OBJS) 
    gcc $(OPTS) $(OBJS) -o prim -lm 

また、シェルがそれを見つけることができません。

test: prim 
    @echo ############################### 
    @echo TESTING GRAPH1.TXT 
    @echo prim graph1.txt 
    @echo ############################### 
    ./prim graph1.txt 
    @echo ############################### 
    @echo TESTING GRAPH2.TXT 
    @echo prim graph2.txt 
    @echo ############################### 
    ./prim graph2.txt 
    @echo ############################### 
+0

私はこれを試してみるとあなたに戻って編集:よくそれは私のエラーを修正しましたが、今はそれだけでプリムgraph1.txtを印刷しますが、実際の出力を印刷することはありません? –

+0

'prim'は出力を生成しますか?私の推測はそうではないということです。 :-) – jszakmeister

+0

これはMacでのことですが、私はすべての変数をNULLに初期化していないので、それを信じています.Linuxはそれを気に入らない –

2
make: prim:Command not found 

というエラーメッセージが間違っているかを表示します。 primはUbuntuのPATHに見つかりません。 primがローカルディレクトリに作成したばかりのプログラムだとすると、Makefileに./primを実行しているはずです。

+0

私はそれをもう一度試しましたが、それはもっとエラーが出ました。 –

関連する問題