Я пробовал команду -L, чтобы изменить поиск компоновщика напрямую, и я даже пробовал оба -Wl, -rpath, / mydir и -Wl, -rpath-link, / mydir, однако g ++ все еще просто ищет в/ USR / бен / л.д..Что я здесь не так делаю?Извините, если что-то явно не так, поскольку я новичок в компиляции без IDE.
Makefile, который я сейчас использую.
#Makefile for compiling library.
CC = g++
CURNTDIR = $(shell pwd)
IFLAG = -I$(CURNTDIR)/include
LFLAG = -L$(CURNTDIR)/lib
LIBS = -llibSDLmain -llibSDL2
CXXFLAGS = -Wl,-rpath,$(CURNTDIR)/lib -Wl,-rpath-link,$(CURNTDIR)/lib
objs = SpiceMain.o SystemHandler.o
SpiceMain: $(objs)
$(CC) -o $@ $(CXXFLAGS) $(IFLAG) $(LFLAG) $(objs) $(LIBS)
SpiceMain.o: SpiceMain.cpp
$(CC) -c $(CXXFLAGS) $(IFLAG) $(LFLAG) $? $(LIBS)
SystemHandler.o: SystemHandler.cpp
$(CC) -c $(CXXFLAGS) $(IFLAG) $(LFLAG) $? $(LIBS)
clean:
rm $(objs)
rm SpiceMain
Возвращена ошибка в терминале.
g++ -o SpiceMain -Wl,-rpath,/home/harry/Desktop/programs/spiceengine/lib -Wl,-rpath-link,/home/harry/Desktop/programs/spiceengine/lib -I/home/harry/Desktop/programs/spiceengine/include -L/home/harry/Desktop/programs/spiceengine/lib SpiceMain.o SystemHandler.o -llibSDLmain -llibSDL2
/usr/bin/ld: cannot find -llibSDLmain
/usr/bin/ld: cannot find -llibSDL2
collect2: error: ld returned 1 exit status
make: *** [Makefile:11: SpiceMain] Error 1
Заранее спасибо всем, кто может помочь.