Ich versuche, einen Client für ein Schulprojekt zu starten, das eine in Lua entwickelte KI hat. Ich habe llulla.so in einem/lib/-Ordner im Stammverzeichnis meines Programms hinzugefügt Mappe.Fehler beim Laden gemeinsam genutzter Bibliotheken: llllua.so
Nach dem Kompilieren und das Programm startet, erhalte ich folgende Fehlermeldung:
./zappy_ai: error while loading shared libraries: liblua.so: cannot open shared object file: No such file or directory
Von dem, was ich verstehe ich etwas bei der Zusammenstellung für mein Programm tun müssen wissen, wo meine gemeinsame Bibliothek befindet.
Hier ist der relevante Teil meiner Makefile:
CXX = g++
BASE_FLAGS = -Wall -Wextra -Iincludes
AI_NAME = zappy_ai
AI_PATH = ./sources/client/
AI_FLAGS = $(BASE_FLAGS) \
-L./lib/ \
-I./includes/client/ \
-I./include/ \
-std=c++11 \
AI_LDFLAGS = -llua
AI_SRCS = main.cpp \
Client.cpp \
Params/Params.cpp \
Params/Option.cpp \
SocketTCP.cpp \
Misc/Error.cpp
AI_OBJS = $(addprefix $(AI_PATH), $(AI_SRCS:.cpp=.cpp.o))
%.cpp.o : %.cpp
@printf "%b[Compilation]%b %-50s" $(BLUE) $(RESET) $<
@$(CXX) $(FLAGS) -c $< -o [email protected]
@printf "%bOK%b\n" $(GREEN) $(RESET)
$(AI_NAME) : FLAGS = $(AI_FLAGS)
$(AI_NAME) : $(AI_OBJS)
@$(CXX) $^ -o [email protected] $(AI_LDFLAGS)
@printf "%b[Message]%b AI compilation done\n\n" $(YELLOW) $(RESET)
Was sollte ich hinzufügen, um mein Programm in der Lage sein zu starten und es habe meine gemeinsame Bibliothek finden?
Möglicherweise müssen Sie 'ldconfig' ausführen oder'/usr/local/lib' in '/ etc/ld.so.conf' einfügen, wenn Sie' lua' aus dem Quellcode kompiliert haben –