一般而言,源码的安装共三个步骤:配置(configure)、编译(make)、安装(make install)。

https://blog.csdn.net/m0_37599645/article/details/116021781
https://blog.csdn.net/weixin_44498318/article/details/111414759
https://zhuanlan.zhihu.com/p/466365720
https://www.cnblogs.com/johnnyzen/p/13789760.html
https://blog.csdn.net/LK_whq/article/details/80012571

各个文件详解

https://blog.csdn.net/qq_35243382/article/details/132804995

可能会出现的问题

更新配置文件:

wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
  • 其它问题
    千万不要把一个已经用autoconf处理过的工程,再放到另外一个环境中重新编译,否则会有各种稀奇古怪的问题。

configure脚本常见的配置参数

http://t.zoukankan.com/lifexy-p-7866453.html(最常用)
https://blog.csdn.net/sinat_24143931/article/details/50819699(全)

--prefix

prefix的作用其它是指定安装目录,

如果指定了,它将安装在指定的目录中。

如果不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/etc。其它的资源文件放在/usr /local/share。

区别在于如果要删除这个程序时候的麻烦程序,可以在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。

如果指定了prefix,只要删除指定的文件夹就可以了。

--prefix=$(pwd)/build-arm,$(pwd)表示当前目录。
  • 使用prefix指定了安装位置后,无法被系统识别怎么办:
    export PATH=/home/qemu/out_install/bin:$PATH
    export LD_LIBRARY_PATH=/home/qemu/out_install/lib:$LD_LIBRARY_PATH
    export CPATH=/home/qemu/out_install/include:$CPATH

--host

--host=aarch64-linux-gnu--host=arm-linux的区别:

#当编译器是arm-linux-gnueabihf时,host为编译器前两个词arm-linux
./configure --host=arm-linux CC=arm-linux-gnueabihd-gcc CXX=arm-linux-gnueabihf-g++
#当编译器是aarch64-linux-gnu-时,host为编译器前两个词aarch64-linux
./configure --host=aarch64-linux CC=aarch64-linux-gnu-gcc CXX=aarch-linux-gnu-g++
#若需要指定安装路径,请使用--prefix= 注意路径要使用局对路径
./configure --host=aarch64-linux CC=aarch64-linux-gnu-gcc CXX=aarch-linux-gnu-g++ --prefix=/home/root/build
分类: autotools

0 条评论

发表回复

您的电子邮箱地址不会被公开。