我有一些关于编译C的基本知识,但需要回答一些通用的交叉编译问题.就我而言,我试图在我的Fedora
Linux机器上交叉编译一个程序,该程序将在ARM单板计算机上运行.
>我的第一个问题是关于标题.我已下载arm Linux工具包,它在include目录中包含头文件,如stdio.h.当我交叉编译时,我是否应该使用这个“目标”包含目录而不是我的系统包含目录?或者可以指向我的系统包括目录,例如/usr/include? (当我对它们进行区分时,这些头文件似乎有所不同.)
>如果头文件不存在会发生什么.就我而言,我还计划在ARM板上使用cURL库.我可以简单地指向我下载的curl源包中的include目录,而不必担心目标体系结构吗?如果是,这是否意味着我的第一个问题无关紧要?
>假设我想静态链接到库.在发生这种情况之前,是否需要为目标ARM平台编译此静态库?或者我可以直接使用我系统上安装的静态库(希望交叉编译过程能够处理业务)吗?
>如果我决定动态链接到库,唯一的要求是目标系统将此库编译为ARM并安装在ARM板上的一个LD_LIBRARY_PATH目录中,我是否正确?
谢谢您的帮助.