2013-03-18 51 views
0

我有一個Beaglebone(Rev:A6),我想在Windows 7中使用Eclipse開發C/C++程序,然後在板上傳輸可執行文件。但是我在設置Beaglebone所需的編譯器/調試器/工具鏈時遇到了麻煩。只搜索互聯網給了我如何在Linux中設置環境,比如安裝'arm-linux-gnueabi',設置路徑爲'includes'等。我需要一步一步的指令來在Eclipse中設置環境。誰能幫忙?在Windows 7 Beaglebone C/C++編程

我已經嘗試了這些步驟: 1.我在Windows上安裝了GNUARM。 2.在eclipse IDE上,我用Corss GCC打開一個C++項目。 3.從項目 - >屬性 - > C/C++編譯 - >設置我添加'arm-elf-'到每個交叉編譯器命令。 4.在GNUARM安裝目錄中,我在「C++常規 - >路徑和符號」中添加了幾條'.../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' 的打印程​​序。從項目瀏覽器「調試 - > SRC-> hello.o - [臂/ LE]」我複製,並且當在與beaglebone

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

運行被印刷在上述按摩。我不知道我做錯了什麼。也許Eclipse中的ARM環境設置不正確。

回答

0

是不是hello.o預鏈接的目標文件(只是hello.cpp的編譯內容)?它不包含啓動代碼或任何庫函數。鏈接器添加這些以產生最終輸出。

難道你不想運行鏈接器輸出文件h(它應該已經可執行了)?

+0

我是多麼愚蠢。抱歉。是的,我應該運行'h'。但'h'的大小是2468566 byets!對於一個簡單的hello世界計劃來說太大了。無論如何,當我運行它時,控制檯顯示分段錯誤。 根@ beaglebone:〜#搭配chmod +烏戈x高 根@ beaglebone:〜#./h 分段故障 你以爲我設置的編譯環境是否正確? – croc 2013-03-18 10:38:03

+0

C++膨脹? http://www.cplusplus.com/forum/beginner/77852/。 iostream可以引入很多代碼......你可以用put來創建一個C版本嗎? – 2013-03-18 11:04:48

+0

可以用C編碼。但爲什麼C++鏈接器輸出'h'沒有運行?它顯示'分段錯誤'。 – croc 2013-03-18 11:35:01

0

我在這裏得到了我的答案。 http://www.acmesystems.it/foxg20_eclipse_windows_c。 CodeSourcery是我一直在尋找的工具鏈,這也解釋瞭如何設置corss編譯環境。

+0

不要忘記將你的問題標記爲已回答。 (檢查你自己的答案)。 – Jeff 2014-12-09 20:29:28