你是否经常用到一个第3方的库的时候 经常不知道他的头文件在哪里库 文件在哪里,每个发行版本安装的地方都可能不太一样 这时候你就需要象pkgconfig这样的工具:
首先为你要安装的库写一个.pc文件 如 lua.pc
# lua.pc -- pkg-config data for Lua
# vars from install Makefile
# grep '^V=' ../Makefile
V= 5.1
# grep '^R=' ../Makefile
R= 5.1.2
# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
prefix= /usr/local
INSTALL_BIN= ${prefix}/bin
INSTALL_INC= ${prefix}/include
INSTALL_LIB= ${prefix}/lib
INSTALL_MAN= ${prefix}/man/man1
INSTALL_LMOD= ${prefix}/share/lua/${V}
INSTALL_CMOD= ${prefix}/lib/lua/${V}
# canonical vars
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm
Cflags: -I${includedir}
# (end of lua.pc)
放在/usr/lib/pkgconfig或者 /usr/local/lib/pkgconfig里面.
然后在你的工程里面写上
gcc -o you.out you.c `pkg-config "lua" --libs --cflags`
大功告成。Note: `pkg-config "lua" --libs --cflags` 的输出结果如 -I/usr/local/include -L/usr/local/lib -llua -lm
分享到:
相关推荐
当开发者需要链接一个库时,他们可以使用pkgconfig命令来获取必要的编译和链接选项,而无需手动输入这些复杂的信息。例如,要使用GLib库,只需运行`pkg-config --cflags --libs glib-2.0`,pkgconfig将返回所需的...
这个压缩包包含的是“yasm”,“pkgconfig”和“ffmpeg”的安装源码,它们是搭建和使用FFmpeg编译环境的基础。以下是这些组件的详细介绍: 1. **YASM**:全称为Yet Another Smart Macro Assembler,是一款开源的、...
pkgconfig 是一个在 Linux 和类 Unix 系统中广泛使用的工具,它的主要功能是管理和查询已安装库的编译和链接信息。这个工具允许开发者在编译时避免手动指定库的头文件位置、链接选项等配置,而是通过简单地调用 `pkg...
离线安装包,亲测可用
`pkgconfig-1.5.3-py2.py3-none-any.whl`这个文件就是`pkgconfig`库的`.whl`版本,包含了所有必要的Python代码和元数据,用户可以通过Python的`pip`工具进行安装,这样就可以直接使用`pkgconfig`库而无需手动编译...
pkgconfig pkgconfig是一个与pkg-config命令行工具连接的Python模块,并支持Python 2.6+和3.3+。 它可以用来 查找所有pkg-config软件包 >>> packages = pkgconfig.list_all() 检查包是否存在 >>> pkgconfig.exists...
R程序包的专用配置 在R包中创建配置参数的简便方法。... 一旦设置为FALSE (交互式或从程序包),R将在所有程序包中使用该设置,这会破坏期望新行为的程序包。 pkgconfig通过提供软件包专用的配置设置来解决此问题。 从
3. 使用pkgconfig工具管理编译链接依赖 4. 环境变量PKG_CONFIG_PATH的重要性 5. -fPIC编译标志在创建动态库中的作用 6. Makefile在构建过程中的角色 7. 自定义的Lua实现可能针对特定平台进行优化 这些知识点对于想...
pkg-config是一款在软件开发中非常重要的工具,尤其在Linux和类Unix系统中广泛使用。它主要的作用是管理库文件的编译和链接选项,帮助开发者正确地编译和链接依赖于特定库的程序。pkg-config能够自动查找库的路径、...
资源来自pypi官网。 资源全名:pkgconfig-1.5.3-py2.py3-none-any.whl
它通过读取 .pc 文件(这些文件位于系统的特定目录下,如 /usr/lib/pkgconfig 或 /usr/share/pkgconfig)来获取这些信息。例如,如果你正在使用 GLib 库,pkg-config 可以告诉你如何在编译命令行中添加正确的 `-I` ...
为了在构建过程中找到自定义或非标准位置的 Lua 库,可能需要将存放 `lua.pc` 的目录添加到 `PKG_CONFIG_PATH` 中,例如:`export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/path/to/your/lua/lib/pkgconfig`。 6. **编译...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
这两个版本基于 Lua 5.2.4,这是一个稳定且广泛使用的版本。 "lua-5.2.4" 是 Lua 官方发布的源代码,包含了编译 Lua 解释器所需的全部文件。你可以通过解压并编译这个源代码来创建 Lua 解释器或者动态库。编译 Lua ...
在 ARM-Linux 环境下,需要安装 CMAKE 软件包,可以使用以下命令: ``` sudo apt-get install cmake ``` 安装 GCC GCC 是一个流行的编译器,用于编译 OpenCV 源代码。在 ARM-Linux 环境下,需要安装 GCC 软件包,...
在“cmake_pkg:CMake包示例”中,我们很可能会看到一个使用CMake来组织和构建项目的实例。这个压缩包“cmake_pkg-master”很可能包含了项目的源代码、CMakeLists.txt文件和其他必要的构建资源。 首先,我们要理解...
当前版本除了前面几个版本中更新的内容之外,还增加了宏 LUA_COMPAT_5_2 定义修改。 在源码包中,此宏定义在GCC中,打开lua-5.3.4/src/Makefile,可以看到:CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS...
pkg-config 是一个在软件开发中广泛使用的工具,尤其在Linux和跨平台开发环境中,它用于管理编译和链接时所需的库依赖信息。标题中的“pkg-config_0.23-3_win32.rar”表明这是一个适用于Windows 32位系统的pkg-...
pkg-config 是一个在软件开发中广泛使用的工具,特别是在C和C++编程中,它帮助开发者管理库依赖关系。这个工具最初由 Red Hat 的 Keith Packard 创建,目的是简化配置过程,确保编译时链接到正确的库版本。在Windows...