库将只加载ldu PRELOAD

2024-10-03 17:16:48 发布

您现在位置:Python中文网/ 问答频道 /正文

操作系统:Ubuntu 16.04 64位

Python:2.7.12版

我有一个非常简单的Python程序,它只加载两个库libhidapi-hidraw和{}。后者依赖于前者。在

from ctypes import *

hidapi = CDLL('/home/wsharp/Source/pyprox/libhidapi-hidraw.so')
pcProxAPI = CDLL('/home/wsharp/Source/pyprox/libpcProxAPI.so')

r = pcProxAPI.usbConnect()

如果我运行>python myfile.py我收到以下错误:“未定义的符号:hid_send_feature_report”

但是,如果我运行>LD_PRELOAD=./libhidapi-hidraw.so python myfile.py,我不会收到任何问题。在

我尝试过将libhidapi-hidraw.so放在/usr/lib和{}源的其他路径中,但没有成功。我不知道我做错了什么,但这让我发疯了。任何帮助都将不胜感激。在

编辑

包括sudo ldconfig -v 2>/dev/null | grep -v ^$'\t'的输出

^{pr2}$

编辑2

ldd libpcProxAPI.so
    linux-vdso.so.1 =>  (0x00007fff9d3b9000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f276c231000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f276bf28000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f276bd11000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f276b948000)
    /lib64/ld-linux-x86-64.so.2 (0x000055dfcf780000)

Tags: gnusourcehomesolinuxlibmyfilex86
1条回答
网友
1楼 · 发布于 2024-10-03 17:16:48

确认是否将文件放置在链接器搜索的路径之一中:

ldconfig -v 2>/dev/null | grep -v ^$'\t'

如果不是,您只有几个选择:

  1. 将LD_LIBRARY_PATH设置为包含.so文件的目录
  2. 将目录添加到/etc/ld.so.conf公司然后运行ldconfig-(needroot)

相关问题 更多 >