LINUX编译时缺少头文件,查找依赖库的终极解决办法

简介: LINUX编译时缺少头文件,查找依赖库的终极解决办法

在LINUX上编译,经常缺少头文件。如果不知道哪个库,就要上网搜索。有时很快找到,有时找不到。有没有一个彻底的解决办法?有。


安装并更新

apt install apt-file
apt update

报错

src/switch_core.c:54:10: fatal error: sqlite3.h: 没有那个文件或目录
 #include <sqlite3.h>

需要什么库

root@freeswitch:/home/quantum6/freeswitch# apt-file search sqlite3.h
aolserver4-nssqlite3: /usr/share/doc/aolserver4-nssqlite3/nssqlite3.html
autoconf-archive: /usr/share/doc/autoconf-archive/html/ax_005flib_005fsqlite3.html
cl-sql: /usr/share/doc/cl-sql/html/sqlite3.html
db5.3-doc: /usr/share/doc/db5.3-doc/api_reference/C/sqlite3.html
db5.3-doc: /usr/share/doc/db5.3-doc/api_reference/CXX/sqlite3.html
emscripten: /usr/share/emscripten/tests/sqlite/sqlite3.h
erlang-p1-sqlite3: /usr/lib/erlang/lib/p1_sqlite3-1.1.5/include/sqlite3.hrl
erlang-sqlite3: /usr/lib/erlang/lib/sqlite3-1.1.4~dfsg0/include/sqlite3.hrl
glusterfs-common: /usr/include/glusterfs/gfdb/gfdb_sqlite3.h
hhvm-dev: /usr/include/hphp/runtime/ext/sqlite3/ext_sqlite3.h
libbotan-2-dev: /usr/include/botan-2/botan/sqlite3.h
libghc-haskelldb-hdbc-sqlite3-doc: /usr/lib/ghc-doc/haddock/haskelldb-hdbc-sqlite3-2.1.2/haskelldb-hdbc-sqlite3.haddock
libghc-hdbc-sqlite3-doc: /usr/lib/ghc-doc/haddock/hdbc-sqlite3-2.3.3.1/HDBC-sqlite3.haddock
libmstoolkit-dev: /usr/include/libmstoolkit/sqlite3.h
libsoci-dev: /usr/include/soci/sqlite3/soci-sqlite3.h
libspatialite-dev: /usr/include/spatialite/sqlite3.h
libsqlcipher-dev: /usr/include/sqlcipher/sqlite3.h
libsqlite3-dev: /usr/include/sqlite3.h
libtsk-dev: /usr/include/tsk/auto/sqlite3.h
libwxsqlite3-3.0-dev: /usr/include/wx-3.0/wx/wxsqlite3.h
lisaac-common: /usr/share/lisaac/lib/unstable/sqlite-binding/sqlite3.h
lua-dbi-sqlite3-dev: /usr/include/lua5.1/lua-dbi-sqlite3.h
lua-sql-sqlite3-dev: /usr/include/lua5.1/lua-sql-sqlite3.h
lua-sql-sqlite3-dev: /usr/include/lua5.2/lua-sql-sqlite3.h
lua-sql-sqlite3-dev: /usr/include/lua5.3/lua-sql-sqlite3.h
nim-doc: /usr/share/doc/nim-doc/html/sqlite3.html
php-doc: /usr/share/doc/php-doc/html/book.sqlite3.html
php-doc: /usr/share/doc/php-doc/html/intro.sqlite3.html
python-flask-doc: /usr/share/doc/python-flask-doc/html/patterns/sqlite3.html
python-pysqlite2-doc: /usr/share/doc/python-pysqlite2-doc/html/sqlite3.html
python2.7-doc: /usr/share/doc/python2.7/html/library/sqlite3.html
python3.5-doc: /usr/share/doc/python3.5/html/library/sqlite3.html
python3.6-doc: /usr/share/doc/python3.6/html/library/sqlite3.html
python3.7-doc: /usr/share/doc/python3.7/html/library/sqlite3.html
qtcreator-dev: /usr/src/qtcreator/src/libs/3rdparty/sqlite/sqlite3.h
r-cran-rsqlite: /usr/lib/R/site-library/RSQLite/include/sqlite3.h
salt-doc: /usr/share/doc/salt/html/ref/modules/all/salt.modules.sqlite3.html
salt-doc: /usr/share/doc/salt/html/ref/pillar/all/salt.pillar.sqlite3.html
salt-doc: /usr/share/doc/salt/html/ref/sdb/all/salt.sdb.sqlite3.html
salt-doc: /usr/share/doc/salt/html/ref/states/all/salt.states.sqlite3.html
sqlite3-doc: /usr/share/doc/sqlite3-doc/c3ref/sqlite3.html
thunderbird-dev: /usr/include/thunderbird/sqlite3.h

安装

apt install libsqlite3-dev

 

目录
相关文章
|
30天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
82 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
16天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
30 0
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
Linux 程序员 Windows
软件基本功:linux/windows的头文件互相包含,大哥你这是什么创新?
软件基本功:linux/windows的头文件互相包含,大哥你这是什么创新?
111 0
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
21 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
11天前
|
缓存 监控 Linux
|
15天前
|
Linux Shell 数据安全/隐私保护
|
16天前
|
域名解析 网络协议 安全