Makefile を実行したときに発生するこのエラーについて、助けていただければ幸いです。私が持っているコードは、別のファイルに分割する前にうまくコンパイルされていました。
メイン関数と「color.h」が含まれているmain.cファイルがあります。その他のファイルは color.h と color.c です。color.c には color.h も含まれています。これは私の最初の Makefile であり、それに関する多くのスレッドやトピックを読んだので、間違っている場合は修正してください。
これはメイクファイルです
CC = g++
CPPFLAGS = `pkg-config opencv --cflags`
LDFLAGS = `pkg-config opencv --libs`
ARCH = -arch x86_64
DEPENDENCIES = main.o color.o
# FINAL OUTPUTS
main: $(DEPENDENCIES)
$(CC) $(ARCH) $(LDFLAGS) -o $(DEPENDENCIES)
# MODULES
main.o: main.c color.h
$(CC) $(ARCH) $(CPPFLAGS) -c main.c
colorOps.o: color.c
$(CC) $(ARCH) $(CPPFLAGS) -c colorOps.c
# CLEAN
clean:
-rm main $(DEPENDENCIES)
これは私が得るエラーです
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [main] Error 1
Mac OS X 10.8.4 で Macports 経由でインストールされた OpenCv を実行しています。前述のとおり、ファイルを分離するまではすべて正常に機能していました。
どうもありがとうございました!