介子找不到静态库

Meson can't find static libs

我可以通过运行

编译我的项目
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')

我遇到错误:

ERROR: C++ library 'libpj-x86_64-unknown-linux-gnu' not found

解决方案是添加 'dirs' 变量,即使文件位于标准 /usr/local/lib 路径中,并删除 .a 扩展名。

cc.find_library('libpj-x86_64-unknown-linux-gnu', dirs: '/usr/local/lib/') 

当然,后来 lib 在 meson 中可用,并被添加到可执行文件中并经过测试。