/ usr / bin / ld:找不到-lemu

时间:2010-06-04 15:26:18

标签: linux unix gcc

我正在尝试安装应用程序。在编译期间,它失败并出现以下错误:

/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,仍然无效 - 因上述错误而失败。

2 个答案:

答案 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