1
私は2つのファイルがあります。osm.hとosm.cppMakefileは - 静的ライブラリを作成するには
を私はMakefileので、「libosm.a」と呼ばれ、彼らから静的libが作成しようとしました。
私のcppとhファイルは動作しますが(私はMakefileなしでそれらをコンパイルしました)、Makefileは動作しません。これはMakefileのです:
CC = g++
RANLIB = ranlib
LIBSRC = osm.cpp
LIBOBJ=$(LIBSRC:.cpp=.o)
CFLAGS = -Wall -g -O0
LOADLIBES = -L./
OSMLIB = libosm.a
TARGETS = $(OSMLIB)
all: $(TARGETS)
osm.o: osm.cpp osm.h
$(CC) -c osm.cpp -o osm.o
$(TARGETS): $(LIBOBJ)
ar rcs $(OSMLIB) osm.o
ranlib $(OSMLIB)
clean:
rm osm.o $(TARGETS) $(OSMLIB) $(LIBOBJ)
depend:
makedepend -- $(CFLAGS) -- $(SRC) $(LIBSRC)
、これは私が取得していますエラーの一部です:
osm.o: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
誰でも助けることができますか?
も、このエラーメッセージを発行し、コマンドを入力してください。 –
'osm.o:In funct ... 'の直前にあなたの質問を追加してください。エラーを生成するmakeによって開始されるコマンドでなければなりません。 –