我正在使用 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 上运行 Angstrom Linux 发行版。
我需要添加一些库(例如 libcURL)并设置 Eclipse 项目设置,以将库包含在编译中。
我的理解:库通常包含 2 个组件。头文件和库定义文件(二进制格式)。编译器需要头文件,然后链接器链接库文件。
(以上如有错误请指正)。
我的问题:
1) 如果没有为 ARM 处理器提供二进制文件,我是否需要使用 Altera 工具在我的带有 ARM 编译器的 Windows 7 机器上编译库源代码?我相信使用 Altera 提供的编译器终端来运行 ./configure, make
2)对于像libcURL这样广泛使用的库,有针对不同平台的预编译二进制文件。我怎么知道编译后的库是什么样子的?Eclipse编译整个项目需要哪些文件(请具体说明:*.lib, *.a, *.h, ...)
摘要:我对交叉编译感到困惑,我不确定,需要哪个编译器,需要哪些库文件。
我遇到的最常见的错误是:
cannot find -lcurl
这是否意味着编译器可以看到 *.h 文件,但链接器无法找到二进制文件?