【发布时间】:2014-04-30 05:18:06
【问题描述】:
Eclipse CDT 二进制解析器“GNU Elf Parser”在我在 Windows 上安装 Eclipse 时遇到问题。
- 在 linux 安装上一切正常
问题
我有一个 GNU ELF 32 格式的编译 ELF。当我尝试使用 GNU Elf Parser 查看此内容时,我得到:
java.io.IOException: Cannot run program "objdump": Launching failed
at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:347)
...
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
调试
当然,这只是意味着 CDT 插件找不到 objdump。
测试的 ELF 在 linux-eclipse-cdt 安装中正确打开
假设我的 objdump 位于 'C:\binutils\bin'
- 你到底是如何设置 Eclipse 的 CLASSPATH 来在那里搜索的?
我已经尝试了几件事,从编辑我的系统 PATH 或 CLASSPATH。我也尝试过设置 Workspace & C/C++ Build/Env 设置。没有任何效果。
问题
你到底是怎么做到的?
编辑 - 基本解决方案
感觉有点傻,但要解决你只需要安装 MinGW 并将 C:/MinGW/bin 添加到 PATH 即可。然后重新启动 Eclipse。
我正在使用我们自己的内部工具链和 objdump 版本制作我自己的 Eclipse 发行版,因此是混搭!
我尝试了其他几种方法来让它工作(所以我最终可以使用我们自己的 objdump 实例,但没有运气!
基本解决方案说明:
-
你需要从 C:\MinGW\bin 来完成这项工作:
- objdump.exe
- addr2line.exe
- c++filt.exe
- libgcc_s_sw2-1.dll
- zlib1.dll
因此,如果您将这些移动到 C:\myGnuBinUtils 并将其添加到您的系统 PATH (不是一些 eclipse 设置,实际路径),那么这个也可以。
- 这些文件总共 24MB; MinGW 为 715MB...
有谁知道如何在不修改系统路径的情况下达到相同的结果?
【问题讨论】:
标签: eclipse eclipse-cdt