作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的笔记本电脑 32 位 Windows 中构建 hsdis.dll。我读了http://dropzone.nfshost.com/hsdis.htm说明并知道我必须遵循这些步骤。我看到我必须使用 mingw64-i686-gcc-core。我按照这些步骤操作,但总是发现此错误。
make[2]: i686-w64-mingw32: Command not found
Makefile:246: recipe for target 'libiberty.a' failed
make[2]: *** [libiberty.a] Error 127
make[2]: Leaving directory '/home/User/hsdis/build/Linux-i586/libiberty'
Makefile:8045: recipe for target 'all-libiberty' failed
make[1]: *** [all-libiberty] Error 2
make[1]: Leaving directory '/home/User/hsdis/build/Linux-i586'
Makefile:192: recipe for target 'build/Linux-i586/bfd/libbfd.a' failed
make: *** [build/Linux-i586/bfd/libbfd.a] Error 2
我还想知道如何使用指令 PrintAssembly,因为我想查看 Java 类的汇编代码。
我已经在这里看到了其他帖子,但都没有帮助。
提前致谢
最佳答案
以下是帮助我构建它的步骤(x64 版本,x86 应该几乎相同):
hsdis
源代码;bintuils-2.26.tar.gz
包;tar -xzvf ./binutils-2.26.tar.gz
mingw64-x86_64-gcc-core
适用于 x64 或 mingw64-i686-gcc-core
适用于 x86,diffutils
和 制作
;hsdis
目录;make OS=Linux MINGW=x86_64-w64-mingw32 'AR=x86_64-w64-mingw32-ar' BINUTILS=~/binutils-2.26 CONFIGURE_ARGS="--host= x86_64-w64-mingw32"
,对于 x86 库构建,使用命令:make OS=Linux MINGW=i686-w64-mingw32 'AR=i686-w64-mingw32-ar' BINUTILS=~/binutils- 2.26 CONFIGURE_ARGS="--host=i686-w64-mingw32"
zlib
的 undefined reference 有错误(即 build/Linux-amd64/bfd/libbfd.a(compress.o):compress.c:(.text+0x7e ): undefined reference to inflate
), 修改 hsdis
中的 Makefile
: 找到行 $(CC) $(OUTFLAGS) $(CPPFLAGS) $ (CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES)
用于 $(TARGET)
目标并附加到末尾 -lz -L$(TARGET_DIR)/zlib
,然后再次运行构建命令;hsdis\build\Linux-amd64\
中找到用于 x64 的库 hsdis-amd64.dll
,或 hsdis-i386.dll
在 hsdis\build\Linux-i586\
中用于 x86。关于dll - 如何为 Windows 32 位构建 hsdis.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903276/
我是一名优秀的程序员,十分优秀!