我想我自己的靜態庫鏈接到我的主程序。我的包含頭文件和庫位於相同的路徑中。 g ++能夠鏈接主標題,但它無法找到我的庫(ipc.a)。請讓我知道我做錯了什麼。當我運行使我得到的Makefile錯誤鏈接靜態庫
錯誤是:低於
INC_DIR = /home/vint/HobbyProjects/esim/src/LIB/PLAT
LIB_DIR = /home/vint/HobbyProjects/esim/src/LIB/PLAT
INCLUDES = -I $(INC_DIR)/
LIBS = -L$(LIB_DIR)/
LIBA = -lipc
CC = g++
DEBUG = -g
LFLAGS = -Wall $(DEBUG)
CFLAGS = -Wall -c
SOURCES = esim.cpp \
HEADERS = esim.h
OBJ = $(SOURCES:.cpp=.o)
EXE = esim
all: esim
$(EXE): $(OBJ)
$(CC) $(OBJ) $(INCLUDES) $(LIBA) -o $(EXE)
.cpp.o:
$(CC) $(CFLAGS) $(INCLUDES) $< -o [email protected]
tar:
tar -czf $(EXE).tar.gz $(SOURCES) $(HEADERS) Makefile
clean:
rm -f $(OBJ)
rm -f $(EXE)
你沒有得到,當你運行該生成文件。這個makefile會在最後一個命令行的* end *處產生'-o esim',你引用的輸出在開頭就有。確保我們所有的作品都以tab-char開頭。 – WhozCraig
@WhozCraig,嘗試,仍然得到同樣的錯誤,因爲某些原因,沒有被檢測到的lib文件。 – vinit
你錯過了@WhozCraig正在製作的點;您向我們顯示的makefile以及您向我們顯示的錯誤消息*不匹配*。如果你沒有告訴我們你真的在做什麼,我們很難幫助你。 – Beta