我正在嘗試編譯此工具。下面是它的Makefile文件的開頭:在Makefile中找不到指向的庫文件
CC = gcc
CFLAGS = -Wall -O2 -D TRACES
DFLAGS = -g -Wall -o0
CPPFLAGS= $(INCLUDES:%=-I %)
LDFLAGS = $(LIBRARIES:%=-L %)
LDLIBS = $(USED_TOOLS:%=-l%)
MY_FILES =
INCLUDE_DIR = ~/include
TOOLBOX_INC = $(INCLUDE_DIR)/tools
TOOLBOX_LIB = $(TOOLBOX_INC)
USED_TOOLS = std_io stringutils
INCLUDES = $(TOOLBOX_INC)
LIBRARIES = $(TOOLBOX_LIB)
我也有〜/包括/工具,編譯後包括std_io.o,libstd_io.a,stringutils.o和libstringutils.a
我收到以下錯誤:
gcc -L ~/include/tools rank.o counterexample.o -lstd_io -lstringutils -o rank
ld: library not found for -lstd_io
collect2: ld returned 1 exit status
make: *** [rank] Error 1
我不確定是否沒有正確包含這些內容,以及爲什麼它沒有找到庫文件。
編輯:事實證明,我不小心留下了-L和-I選項之間的空間。另外,我猜想路徑必須擴大。現在正在工作,謝謝!
你確定你的'〜'擴展到你的主目錄嗎?嘗試使用'INCLUDE_DIR'的完整路徑。 –
它是否從命令行工作? – Beta
你對'libstd_io.a'有正確的權限嗎? –