我试着编译一些代码,在ubuntu 14.04lts下的主pc上运行。现在我想在linux中使用一个小型板(Zedboard)来控制EnOceanreceiver。
我使用LILARO 12.11和C++编程。
如果我编译,就没有错误。但如果我想启动这个程序:
加载共享库时出错:libEOLink.so.0:无法打开共享对象文件:没有这样的文件或目录
我的Makefile看起来像:

all: EnOcean.cpp
   g++ -I/homelinaro/EOLink EnOcean.cpp -o EnOcean -L/usr/local/lib -lEOLink

我在/usr/local/lib下找到了这些数据,但不管是否使用,都没有帮助。
谢谢你的帮助!

最佳答案

如果libEOLink.so.0可以在/usr/local/lib中找到,则不需要将其添加到LD_LIBRARY_PATH中,因为这应该已经是路径的一部分。图书馆有可能依赖于其他找不到的图书馆。要确定是否如此,请运行:
ldd /usr/local/lib/libEOLink.so.0
如果找不到任何依赖项,将报告它。
我还假设你为了你的目标系统而打击了libEOLink。

关于c++ - 共享库的编译问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29419071/

10-08 21:23