如何在Meson构建中使用config-tool方法配置GEOS依赖?
解决Meson中GEOS依赖配置问题(Rocky Linux无pkg-config文件场景)
方案一:显式指定config-tool的工具路径
Meson的config-tool方法需要明确关联到geos-config工具,默认写法未指定具体工具导致识别失败,调整代码如下:
- 若
geos-config在系统PATH中,直接指定工具名:geos_dep = dependency('geos', method: 'config-tool', configtool: 'geos-config') - 若
geos-config不在默认PATH,写入绝对路径(示例路径为/usr/local/bin,根据实际安装位置调整):geos_dep = dependency('geos', method: 'config-tool', configtool: '/usr/local/bin/geos-config')
方案二:手动提取编译参数构建依赖
如果方案一仍不生效,可以直接调用geos-config获取编译和链接参数,手动声明依赖:
# 获取GEOS编译参数,check:true确保命令执行失败时Meson直接报错 geos_cflags = run_command('geos-config', '--cflags', check: true).stdout().strip() # 获取GEOS链接参数 geos_libs = run_command('geos-config', '--libs', check: true).stdout().strip() # 声明依赖对象 geos_dep = declare_dependency( c_args: geos_cflags.split(), link_args: geos_libs.split() )
调试技巧
可在meson.build中添加调试输出,验证参数是否正确获取:
message('GEOS编译参数: ' + geos_cflags) message('GEOS链接参数: ' + geos_libs)
内容的提问来源于stack exchange,提问作者Balaïtous
相关产品推荐
相关产品推荐

