首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与图书馆交叉编译

与图书馆交叉编译
EN

Stack Overflow用户
提问于 2017-02-17 12:34:59
回答 1查看 2K关注 0票数 0

我正在开发Windows7,使用Eclipse 5交叉编译Altera SoC (FPGA+ARM)的项目。工具链由Altera工具提供,如下所示:

代码语言:javascript
复制
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,.)

摘要:我对交叉编译感到困惑,我不确定需要哪个编译器,需要哪些库文件。

我遇到的最常见的错误是:

代码语言:javascript
复制
cannot find -lcurl

这是否意味着编译器可以看到*.h文件,但是链接器无法定位二进制文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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文件夹的路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42298123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档