介子找不到静态库
Posted
技术标签:
【中文标题】介子找不到静态库【英文标题】:Meson can't find static libs 【发布时间】:2020-08-13 16:50:32 【问题描述】:我可以通过运行编译我的项目
g++ main.cpp -l:libpj-x86_64-unknown-linux-gnu.a -lpthread -lm -luuid
或
g++ main.cpp /usr/local/lib/libpj-x86_64-unknown-linux-gnu.a -lpthread -lm -luuid
但是当我尝试使用以下任一方法添加库时:
meson.get_compiler('cpp').find_library('libpj-x86_64-unknown-linux-gnu.a')
meson.get_compiler('cpp').find_library('/usr/local/lib/libpj-x86_64-unknown-linux-gnu.a')
我收到错误:
错误:未找到 C++ 库“libpj-x86_64-unknown-linux-gnu”
【问题讨论】:
【参考方案1】:解决方案是添加“dirs”变量,即使文件位于标准 /usr/local/lib 路径中,并删除 .a 扩展名。
cc.find_library('libpj-x86_64-unknown-linux-gnu', dirs: '/usr/local/lib/')
后来当然 lib 在 meson 中可用,并被添加到可执行文件中并经过测试。
【讨论】:
与您的问题尝试的另一个区别是它不包含.a
后缀以上是关于介子找不到静态库的主要内容,如果未能解决你的问题,请参考以下文章
Pythonanywhere 'staticfiles' 不是有效的标记库:找不到模板库静态文件