У меня проблемы с получением примера программы для правильной связи (в данном случае с библиотекой ICU) Когда я делаю 'make', все прекрасно работает. Но когда я запускаю его, он говорит, что не может найти один из .so. Я дважды проверил, все ли они установлены в / usr / local / lib. Я обнаружил, что он искал в / usr / lib. Если я получу символическую ссылку оттуда, чтобы там фактическое местоположение, это работает.
Почему мои LIBPATHS игнорируются или не используются?
Вот Makefile
CC = g++
INCPATHS = -I/usr/local/include
CFLAGS = -c -Wall $(INCPATHS)
LIBPATHS = -L/usr/local/lib/
LIBS = $(LIBPATHS) -licuio -licui18n -licuuc -licuio -licudata
EXECUTABLE = prog
print_linking = echo -e "\033[32m" "Linking: $<" "\033[39m"
print_compiling = echo -e "\033[33m" "Compiling: $<" "\033[39m"
print_cleaning = echo -e "\033[31m" "Cleaning: `pwd`" "\033[39m"
all: main
# [target]: [dependencies]
# <tab> system command
main: main.o
@$(print_linking)
@$(CC) -o $(EXECUTABLE) main.o $(LIBS) >> /dev/null
main.o: main.cpp
@$(print_compiling)
@$(CC) $(CFLAGS) main.cpp
clean:
@$(print_cleaning)
@rm -rf *.o *~ $(EXECUTABLE)