查了很多文章,也配置了PKG_CONFIG_PATH,但还是会出现这个问题,后面查阅一篇文章时,突然发现在./configure 后面加上选项 --pkg-config="pkg-config --static" 即可正确完成配置。
chatgpt:
--pkg-config="pkg-config --static" 参数的作用是告诉编译器在构建过程中使用静态链接的库而不是动态链接的库。动态链接库需要在运行时动态加载,而静态链接库则在编译时被静态地链接到可执行文件中。
加上这个参数可能解决了你遇到的问题,原因有以下几点:
缺少系统安装的动态链接库:如果没有指定 --pkg-config="pkg-config --static" 参数,编译器会默认使用动态链接库。但是如果你的系统上没有安装对应的动态链接库,编译过程将会失败。通过使用静态链接的方式,可以将所有依赖的库都打包到可执行文件中,避免了缺少系统动态库的问题。
系统环境不匹配:不同的系统和工具链可能会有不同的默认设置和约定。可能在你的系统上,默认使用的是动态链接库而不是静态链接库。通过显式地指定 --pkg-config="pkg-config --static" 参数,可以覆盖默认设置,确保编译器使用静态链接库。
需要注意的是,使用静态链接库会增加最终可执行文件的大小,并且在更新库版本时需要重新编译整个程序。因此,在使用静态链接库之前,请仔细考虑你的需求和系统环境,并确保已正确安装了所需的库文件。