我正在开发Windows7,使用Eclipse 5交叉编译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发行版。
我需要添加一些库(例如libcURL)并设置Eclipse设置,以便将库包含在编译中。
我的理解是:库一般包含两个组件。标题和库定义文件(二进制格式)。编译器需要头文件,然后链接器将库文件链接起来。
(如果上面有任何问题,请纠正我)。
我的问题:
1)如果没有为ARM处理器提供二进制文件,我是否需要使用Altera工具在我的Windows 7机器上用ARM编译器编译库源代码?我相信使用Altera提供的编译器终端,运行./配置,使
2)对于诸如libcURL这样广泛使用的库,有针对不同平台的预编译二进制文件。我如何知道编译后的库是什么样子的?Eclipse编译整个项目所需的文件(请具体说明:*.lib,*.a,*.h,.)
摘要:我对交叉编译感到困惑,我不确定需要哪个编译器,需要哪些库文件。
我遇到的最常见的错误是:
cannot find -lcurl这是否意味着编译器可以看到*.h文件,但是链接器无法定位二进制文件?
发布于 2017-02-22 07:08:49
最后,我做了以下工作:
我已经将库源文件复制到我的目标平台(Altera De_nano_SoC ARM),并在那里编译了库(Angstrom,编译器arm-angstrom)。这需要在库文件夹中设置配置文件,并运行make和make命令。
编译后,我将输出文件(头*.h和静态库文件*.a或共享库文件*.so -取决于编译配置)复制到我的主机(Windows 7)。然后,我将这些文件添加到Eclipse 5项目中。
Eclipse需要包含头文件*.h和包含*.a或*.so文件的./lib文件夹的路径。
https://stackoverflow.com/questions/42298123
复制相似问题