make install安装过程

本文详细记录了在Ubuntu环境下使用sudo make install命令安装和配置SQLite数据库的过程。从创建目录到库文件的安装,再到符号索引表的更新及环境变量的添加,每一步都进行了详尽的说明。此外,还提供了如何在链接时正确引用已安装库的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gzdlw@ubuntu:~/sqlite-autoconf-3280000$ sudo make install
make[1]: Entering directory '/home/tools/sqlite-autoconf-3280000'
 /bin/mkdir -p '/usr/local/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libsqlite3.la '/usr/local/lib'
#install -c拷贝
libtool: install: /usr/bin/install -c .libs/libsqlite3.so.0.8.6 /usr/local/lib/libsqlite3.so.0.8.6 
#创建软链接ln -f是Remove existing destinations;rm -f是prompt立即执行-r是recurse用于删除目录子文件
libtool: install: (cd /usr/local/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so.0 || { rm -f libsqlite3.so.0 && ln -s libsqlite3.so.0.8.6 libsqlite3.so.0; }; })  
libtool: install: (cd /usr/local/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so || { rm -f libsqlite3.so && ln -s libsqlite3.so.0.8.6 libsqlite3.so; }; })  
libtool: install: /usr/bin/install -c .libs/libsqlite3.lai /usr/local/lib/libsqlite3.la  
libtool: install: /usr/bin/install -c .libs/libsqlite3.a /usr/local/lib/libsqlite3.a  
#授权
libtool: install: chmod 644 /usr/local/lib/libsqlite3.a   
#更新库的符号索引表
libtool: install: ranlib /usr/local/lib/libsqlite3.a 
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib #添加环境变量
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/usr/local/bin' #创建目录-p是No error if exists
  /bin/sh ./libtool   --mode=install /usr/bin/install -c sqlite3 '/usr/local/bin'
libtool: install: /usr/bin/install -c sqlite3 /usr/local/bin/sqlite3 
 /bin/mkdir -p '/usr/local/include' 
 #拷贝并授权644
 /usr/bin/install -c -m 644 sqlite3.h sqlite3ext.h '/usr/local/include' 
 /bin/mkdir -p '/usr/local/share/man/man1'
 #用于man指令的帮助信息,执行:man sqlits
 /usr/bin/install -c -m 644 sqlite3.1 '/usr/local/share/man/man1' 
 /bin/mkdir -p '/usr/local/lib/pkgconfig'
 #用于pkg-config指令的pc文件,提供版本、编译方式等信息,执行:pkg-config --libs --cflags sqlite3
 /usr/bin/install -c -m 644 sqlite3.pc '/usr/local/lib/pkgconfig' 
make[1]: Leaving directory '/home/gzdlw/3516DV300/tools/sqlite-autoconf-3280000'
 

 

### 如何在 Linux 或 Unix 系统上使用 `make` 和 `make install` 编译并安装软件 #### 使用 `make` 进行编译 在大多数情况下,当开发者提供了一个基于 GNU 工具链构建的项目时,通常会附带一个名为 `Makefile` 的文件。这个文件定义了如何构建程序以及依赖关系。执行以下命令可以启动编译过程: ```bash make ``` 此命令读取当前目录中的 `Makefile` 文件,并按照其中指定的目标逐步完成编译工作。如果遇到错误,则可能是因为缺少某些必要的库或工具[^1]。 #### 配置选项传递给 make 命令 有时需要向编译器传递特定标志来调整行为或者解决兼容性问题。可以通过设置环境变量的方式实现这一点。例如,在编译过程中加入额外的预处理指令 `-DWITH_NO_C_LOCALE` 可以这样操作: ```bash make CFLAGS="-DWITH_NO_C_LOCALE" CXXFLAGS="-DWITH_NO_C_LOCALE" ``` 这里分别设置了用于 C 和 C++ 源代码编译的附加参数列表[^3]。 #### 安装已编译好的二进制文件到系统中 一旦成功完成了项目的编译阶段之后,就可以将其正式部署至目标位置。这一步骤一般由另一个专门的任务负责——即运行下面这条语句即可触发相应动作: ```bash sudo make install ``` 注意这里的权限提升是为了允许写入受保护路径下的资源;如果没有超级用户权利的话也可以考虑采用本地化方式安装(通过修改前缀设定),详情参见相关文档说明。 #### 处理 CVS 版本控制系统检出源码的例子 对于那些托管于旧版CVS服务器上的开源项目来说,获取最新版本的方法如下所示: ```bash cvs -d:pserver:username@hostname:/path/to/repository login cvs -d:pserver:username@hostname:/path/to/repository co module_name ``` 上述例子展示了从远程仓库下载所需模块的具体步骤,实际应用当中需替换掉占位符部分的实际值[^4]。 #### 总结 整个流程大致分为三个主要环节:首先是配置阶段,其次是利用 `make` 执行真正的组装作业最后再借助 `make install` 把成果安置到位供日常调用之便。期间可能会涉及到一些高级技巧比如定制化的宏定义或是针对特殊场景所做的适配更改等等都需要依据具体情况灵活应对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值