我正在尝试安装一个应用程序。在编译过程中失败,并出现以下错误:
/usr/bin/ld: cannot find -lemu
我已经安装了libemu库,它现在位于/opt/libemu/中。但是,当我尝试编译我的应用程序时,找不到库。有什么办法可以纠正吗?
编辑:看起来该品牌还导致:
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_路径设置为/opt/libemu,但仍然无法工作-失败,出现上述错误。
最佳答案
你需要告诉链接器它在哪里:
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目录中的库文件的确切文件名是什么?
关于linux -/usr/bin/ld:找不到-lemu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2975530/