【发布时间】:2018-05-22 23:21:22
【问题描述】:
我在头文件 imp.h 中声明了一个函数 foo(),并在 imp.c 中实现了它。然后我生成了一个名为 libimp.so 的共享库,并在我的 Pin 工具中调用了 foo()。
为了将该工具与这个新库链接,我在其目录中的 makefile.rules 中添加了以下定义:
TOOL_CXXFLAGS += -I/path/to/imp.h
TOOL_LPATHS += -L/path/to/libimp.so
TOOL_LIBS += -limp
我还将 LD_LIBRARY_PATH 设置为 /path/to/libimp.so。但是,在运行时,如果我使用 foo(),会收到以下错误:
dlopen failed. library "libimp.so" not found.
当我从一个简单的测试程序中调用它时,该库就可以了。有什么想法吗?
【问题讨论】:
标签: compilation shared-libraries dynamic-linking intel-pin