我正在尝试使用 g++ 在 Mac 上编译一个小型 CPP 项目(http://sourceforge.net/projects/ibmquestdatagen/),但是出现以下错误:
sudo make -f Makefile.txt
g++ -O ran1.o expdev.o gammln.o gasdev.o poidev.o dist.o gen.o main.o command.o -lm -o gen
i686-apple-darwin11-llvm-g++-4.2: ran1.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: expdev.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: gammln.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: gasdev.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: poidev.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: dist.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: gen.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: main.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: command.o: No such file or directory
make: *** [gen] Error 1
看来我没有所需的 .o 文件。有没有办法生成它们?
这是生成文件:
HFILES1 = glob.h dist.h
HFILES2 = gen.h
CFILES1 = ran1.C expdev.C gammln.C gasdev.C poidev.C dist.C
CFILES2 = gen.C main.C command.C
OBJECTS1 = ran1.o expdev.o gammln.o gasdev.o poidev.o dist.o
OBJECTS2 = gen.o main.o command.o
LIBES = -lm
CC = g++
CFLAGS = -O
.SUFFIXES: .C
.C.o:
$(CC) $(CFLAGS) -c $*.c
gen: $(OBJECTS1) $(OBJECTS2)
$(CC) $(CFLAGS) $(OBJECTS1) $(OBJECTS2) $(LIBES) -o gen
test: $(OBJECTS1) test.o
$(CC) $(CFLAGS) $(OBJECTS1) test.o $(LIBES) -o test
clean:
/bin/rm $(OBJECTS1) $(OBJECTS2)
$(OBJECTS1): $(HFILES1)
$(OBJECTS2): $(HFILES1) $(HFILES2)
GNU Make 3.81