私の元のディレクトリ構造は次のとおりです。実行ファイルをフォルダの下に置く方法は?
include/ (const.h , map_reduce.h)
src/ (main.c , map_reduce.c)
Makefile
CFLAGS = -Wall -Werror
BINS = bin_mapreduce
all: $(BINS)
bin_mapreduce: bin/mapreduce
bin/mapreduce: mapreduce | bin
mapreduce:
gcc $(CFLAGS) src/main.c -o bin/[email protected]
bin:
mkdir [email protected]
clean:
rm -f bin/mapreduce
clean:
rm -f bin/mapreduce
私は人がいない場合はbinフォルダを作成します。
次に、main.cを実行可能なmapreduceファイルにコンパイルし、binフォルダに入れます。ビン/なしでそれを行う場合は、単に、
/usr/bin/ld: cannot open output file bin/mapreduce: No such file or directory
collect2: error: ld returned 1 exit status
Makefile:19: recipe for target 'mapreduce' failed
make: *** [mapreduce] Error 1
::私はビンを追加する場合
しかし、ビン/ $ @をするために、/ $ @を前に、それはエラーを示し
gcc $(CFLAGS) src/main.c -o [email protected]
の場合binフォルダの外にmapreduceファイルを作成すると、binフォルダが作成されます。
mapreduceファイルをbinフォルダに配置するにはどうすればよいですか?
あなたはbin /にコピーしてmapreduceターゲットに入れることで、ソースをbin /ディレクトリの中にコンパイルすることができます – Evert