0
에 내가 메이크 다음 한 작동하지 않습니다-L 및 -l 명령은 메이크
TOP = ../Bank/src
CC = gcc
CFLAGS = -g -Wall -std=c99
LDFLAGS = -L$(TOP)
LFLAGS = -lVirtualBank
INCLUDES = -I$(TOP)/VirtualBank/
LIBS = VirtualBank.a
BANK_SOURCES = $(TOP)/bank.c
VirtualBank_SOURCES = $(TOP)/VirtualBank/bankServer.c $(TOP)/VirtualBank/dataBase.c $(TOP)/VirtualBank/account.c
BANK_OBJECTS = $(BANK_SOURCES:.c=.o)
VirtualBank_OBJECTS = $(VirtualBank_SOURCES:.c=.o)
TARGET = bank
all: VirtualBank.a $(TARGET)
VirtualBank.a:$(VirtualBank_OBJECTS)
rm -f [email protected]
ar cq [email protected] $(VirtualBank_OBJECTS)
mv *.a $(TOP)/
$(VirtualBank_OBJECTS):$(VirtualBank_SOURCES)
$(CC) -c $(CFLAGS) $(INCLUDES) $(VirtualBank_SOURCES)
mv *.o $(TOP)/VirtualBank/
$(TARGET):$(BANK_OBJECTS)
$(CC) $(CFLAGS) $(INCLUDES) $(BANK_OBJECTS) -o $(TARGET) $(LDFLAGS) $(LFLAGS)
chmod +x $(TARGET)
$(BANK_OBJECTS):$(BANK_SOURCES)
$(CC) $(CFLAGS) -c $(INCLUDES) $(BANK_SOURCES)
mv *.o $(TOP)/
clean:
cd ../Bank
rm -rf *.o bank
cd $(TOP)
rm -rf *.o *.a
cd $(TOP)/VirtualBank
rm -rf *.o
그것은이 프로젝트입니다 : 내가 make
명령을 실행하면 https://github.com/MihaiPro/Bank 이 commpiler가 VirtualBank 라이브러리를 찾을 수 없습니다. 나는이 문제가 -l 명령에 있다고 생각한다. 나는이 명령에 대해 다시 읽었지만 문제가 무엇인지 발견하지 못했다.
도와 주시겠습니까?
감사합니다.
편집
오류 메시지 :
gcc -g -Wall -std=c99 -I../Bank/src/VirtualBank/ ../Bank/src/bank.o -o bank -L../Bank/src -lVirtualBank
/usr/bin/ld: cannot find -lVirtualBank
collect2: error: ld returned 1 exit status
make: *** [bank] Error 1
* VirtualBank 라이브러리가 있습니까? 어디에? –
오류 메시지 바로 앞에 오는 명령 줄은 무엇입니까? –
makefile을 실행할 때 만들어집니다. 오류가 발생하기 전에 마지막 명령을 추가했습니다. –