我正在尝试安装应用程序。在编译期间,它失败并出现以下错误:
/usr/bin/ld: cannot find -lemu
我已经安装了libemu库,现在它现在位于/ opt / libemu /中。但是,当我尝试编译我的应用程序时,找不到该库。有没有办法纠正这个?
编辑:看起来make也会导致: 它看起来像make文件正在编译以下:
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-x86_64-2.6/libemu_module.o
-L/opt/libemu/lib -lemu -o build/lib.linux-x86_64-2.6/libemu.so
我已经尝试将我的LD_LIBRARY_PATH设置为/ opt / libemu,仍然无效 - 因上述错误而失败。
答案 0 :(得分:2)
您需要告诉链接器它在哪里:
gcc stuff -L/opt/libemu -lemu
或:
gcc stuff /opt/libemu/libemu.a
其中stuff
是您正常的编译/链接选项文件等。
您还可以在LIBRARY_PATH环境变量中指定库路径:
LIBRARY_PATH=/opt/libemu
export LIBRARY_PATH
在运行构建之前。另一个选择是通过运行来查看gcc查找库的位置:
gcc --print-search-dirs
并将您的库放在列出的目录之一。
编辑:您的最新信息确实无法清楚您要构建的内容。您是否尝试将静态库转换为共享库?最重要的 - 您已复制到/ opt / libemu目录中的库文件的确切文件名是什么?
答案 1 :(得分:0)
环境变量LD_LIBRARY_PATH应包括(但可能不是默认情况下)/ opt / libemu。
尝试跑步:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libemu
make install