0

我有一个 Beaglebone(修订版:A6),我想使用 Eclipse 在 Windows 7 中开发 C/C++ 程序,然后在板上传输可执行文件。但是我在设置 Beaglebone 所需的编译器/调试器/工具链时遇到了麻烦。搜索互联网只能让我了解如何在 Linux 中设置环境,例如安装“arm-linux-gnueabi”、设置“包含”的路径等。我需要一步一步的说明来在 Windows 机器中的 Eclipse 中设置环境. 任何人都可以帮忙吗?

我已经尝试了这些步骤: 1. 我在 Windows 上安装了 GNUARM。2. 在 Eclipse IDE 上,我使用 Corss GCC 打开一个 C++ 项目。3. 从项目 -> 属性 -> C/C++ 构建 -> 设置我将“arm-elf-”添加到每个交叉编译器命令。4. 从 GNUARM 安装目录中,我在“C++ General -> paths and symbos”中添加了几个路径到“.../include/”。

我的“全部构建”显示如下:

10:32:20 **** Build of configuration Debug for project h ****
make all 
Building file: ../src/hello.cpp
Invoking: Cross G++ Compiler
arm-elf-g++ -I"C:\GNUARM\include\c++\4.1.1" -I"C:\GNUARM\include\c++\4.1.1\arm-elf" -   I"C:\GNUARM\include\c++\4.1.1\backward" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -  MF"src/hello.d" -MT"src/hello.d" -o "src/hello.o" "../src/hello.cpp"
Finished building: ../src/hello.cpp

Building target: h
Invoking: Cross G++ Linker
arm-elf-g++ -L"C:\GNUARM\lib\gcc\arm-elf\4.1.1\include" -o "h"  ./src/hello.o   
Finished building target: h


10:32:23 Build Finished (took 2s.967ms) 

这是一个简单的“Hello world”打印程序。从项目资源管理器 'Debug->src->hello.o -[arm/le]' 我复制它并在 beaglebone 上运行时使用

chmod ugo+x hello.o
./hello.o
-sh: ./hello.o: cannot execute binary file    

上面的按摩是打印出来的。我不知道我做错了什么。可能是eclipse中的ARM环境设置不正确。

4

2 回答 2

0

我在这里得到了答案。http://www.acmesystems.it/foxg20_eclipse_windows_c。CodeSourcery 是我一直在寻找的工具链,这也解释了如何设置 corss 编译环境。

于 2013-03-20T05:11:04.633 回答
0

不是hello.o预链接的目标文件(只是hello.cpp的编译内容)吗?它不包含启动代码或任何库函数。链接器添加这些以产生最终输出。

您不想运行链接器输出文件h(应该已经是可执行的)吗?

于 2013-03-18T10:26:24.240 回答