Спасибо за этот ответ. Как-то мне было трудно узнать немного о расширении тильды.

аюсь скомпилировать этот инструмент. Ниже приведено начало его 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)

У меня также есть ~ / include / tools, которые после компиляции включают 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. Кроме того, пути должны были быть расширены, я думаю. Это работает сейчас, спасибо!