交叉编译:如何使用一个前缀安装,并使用不同的前缀进行部署?

Run*_*ble 11 cross-compiling

我正在尝试交叉编译一些替代架构的应用程序.

我的典型程序如下:

  1. 将源代码下载并解压缩到/ var/source
  2. ./configure --prefix =/var/install CC = [my-cross-compiler-gcc]
  3. 使
  4. make install

这按预期工作:我的应用程序安装在/ var/install中.

但是,当我将此应用程序部署到我的替代架构时,我不希望它部署在/ var/install中.我只是希望它/正常安装.

我可以将其复制到/中,但是应用程序本身仍在尝试查看/ var/install中的各种默认设置.

我想在我的x86系统上编译和安装该软件,但是当我在备用架构上部署它时,我希望它就像我将它安装到/中,而不是在/ var/install中.

有没有办法完成我想要做的事情?

Pat*_*and 13

如果我理解正确,/var/install您的x86系统将/在您的替代架构上.要解决您的问题,您需要修改以下步骤:

  • configure肯定会在文件中做一些sed,所以你需要指定最终的位置

    ./configure --prefix=/ CC=[my-cross-compiler-gcc]

  • automake生成的makefile支持变量DESTDIR,它安装在安装路径之前:

    make DESTDIR=/var/install install