2017-02-17 163 views
0

我正在使用Eclipse DS-5在Windows 7上交叉編譯Altera SoC(FPGA + ARM)的項目。該工具鏈是由Altera公司提供的工具,它看起來如下:與庫交叉編譯

GCC C++ Compiler 4 [arm-linux-gnueabihf] 
GCC C Compiler 4 [arm-linux-gnueabihf] 
GCC Assembler 4 [arm-linux-gnueabihf] 
GCC C Linker 4 [arm-linux-gnueabihf] 
GCC C++ Linker 4 [arm-linux-gnueabihf] 
GCC Archiver 4 [arm-linux-gnueabihf] 

Altera的SoC的主板上運行ARM埃Linux發行版。

我需要添加一些庫(例如libcURL)並設置Eclipse項目設置,以便將庫包含在編譯中。

我的瞭解: 圖書館一般包含2個組件。標題和庫定義文件(二進制格式)。編譯器需要頭文件,鏈接器然後鏈接庫文件。

(如果以上任何錯誤,請糾正我)。

我的問題:

1)如果二進制文件沒有爲ARM處理器提供的,我需要我的Windows 7機器上使用Altera工具來編譯庫的源代碼與ARM編譯器? 我相信使用Altera提供的編譯器終端來運行./configure,使得

2)對於如libcURL這樣廣泛使用的庫,有針對不同平臺的預編譯二進制文件。我怎麼知道編譯的庫看起來像什麼? Eclipse需要哪些文件來編譯整個項目(請具體說明:* .lib,* .a,* .h,...)

摘要: 我對交叉編譯感到困惑,我不是當然,需要哪種編譯器,以及需要哪些庫文件。

我都碰上了最常見的錯誤是:

cannot find -lcurl 

這是否意味着編譯器可以看到* .h文件,但鏈接是無法找到二進制文件?

回答

0

最後,我做了以下內容:

我有庫的源文件複製到我的目標平臺(Altera的De_nano_SoC ARM)和編譯圖書館裏(埃Linux中,編譯器臂埃Linux的gnueabi)。這需要在庫文件夾中設置配置文件,並運行使得使安裝命令。

編譯完成後,我將輸出文件(頭文件* .h和靜態庫文件* .a或共享庫文件* .so - 取決於編譯配置)複製到我的主機(Windows 7)。然後我將這些文件添加到我的Eclipse DS-5項目中。

Eclipse需要包含* .a或* .so文件的頭文件* .h和.../lib文件夾的.../include文件夾的路徑。