首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载共享库时出错: liblua.so

加载共享库时出错: liblua.so
EN

Stack Overflow用户
提问于 2016-06-23 15:36:37
回答 1查看 2.6K关注 0票数 2

我试图为一个在Lua中开发AI的学校项目启动一个客户端,我在我的程序文件夹根部的/lib/文件夹中添加了liblua.so。

在编译和启动上述程序后,我会得到以下错误:

./zappy_ai:加载共享库时出错: liblua.so:无法打开共享对象文件:没有这样的文件或目录

据我所知,我必须在编译时做一些事情,以便我的程序知道我的共享库位于何处。

下面是我的Makefile的相关部分:

代码语言:javascript
复制
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 $@
                        @printf "%bOK%b\n" $(GREEN) $(RESET)

$(AI_NAME)      :       FLAGS = $(AI_FLAGS)
$(AI_NAME)      :       $(AI_OBJS)
                        @$(CXX) $^ -o $@ $(AI_LDFLAGS)
                        @printf "%b[Message]%b AI compilation done\n\n" $(YELLOW) $(RESET)

为了能够启动我的程序并让它找到我的共享库,我应该添加什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 18:08:29

tldr:

代码语言:javascript
复制
$ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./lib" ./zappy_ai

较长的解释:

您已经动态链接到

代码语言:javascript
复制
zappy_ai

反对

代码语言:javascript
复制
./lib/liblua.so

通过使用

代码语言:javascript
复制
LDFLAGS = -L./lib/

代码语言:javascript
复制
LDLIBS = -llua

生成的zappy_ai可执行文件要求在动态链接器/加载程序试图解析zappy_ai使用的-llua符号时,LD_LIBRARY_PATH环境变量中存在相同的-llua

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37996069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档