如何解决如何在Intel Pin工具中使用编译zlibgzip函数压缩库?
我在Ubuntu 20.04上安装了libz-dev。我在pin / source / tools / SimpleExamples / icount.cpp中添加了以下几行:
#include <zlib.h>
和main()中的
gzFile gp;
gp = gzopen("compressed_log_file","ab");
gzbuffer(gp,100000);
我的用于链接的makefile构建规则是:
$(OBJDIR)icount$(PINTOOL_SUFFIX): $(OBJDIR)icount$(OBJ_SUFFIX)
$(LINKER) $(TOOL_LDFLAGS_NOOPT) $(LINK_EXE)$@ $< $(TOOL_LPATHS) $(TOOL_LIBS) -lz
紧跟Intel Pin User Guide之后,除了我添加的-lz标志。
我可以毫无错误地进行制作,但是当我运行销钉工具时,会出现以下错误:
E: Unable to load /pin/source/tools/SimpleExamples/obj-intel64/icount.so: dlopen failed: library "libz.so.1" not found
我的执行命令是:
../../../../pin -t icount.so -- ls
- 我可以正确链接吗?
- 我应该尝试静态链接而不是使用dlopen吗?
解决方法
我无法直接编译,所以我最终只使用 pin 工具,然后重定向输出(来自 stderr)并将其通过管道传输到 gzip 命令行实用程序中。
./path_to_pin/pin -t icount.so -- ls 3>&2 2>&1 1>&3 | gzip -c > my_compression_output.txt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。