Meson não encontra as bibliotecas Boost

2

Eu quero usar o Meson para construir um novo projeto c ++. A primeira coisa que preciso é de um dependência para a biblioteca Boost. Mas embora as bibliotecas Boost estejam instaladas no meu sistema Arch (cabeçalhos) e libs), Meson reclama que não os encontra.

Aqui está o arquivo de compilação do meson:

project('myproj', 'cpp')
boost_dep = dependency('boost')
executable('myproj', 'main.cpp', dependencies : boost_dep)

O arquivo de origem main.cpp :

int main()
{
    return 0;
}

Uma listagem parcial de alguns arquivos Boost instalados no meu sistema:

$ ls /usr/lib/libboost*|head -n5; ls /usr/include/boost/*|head -n5
/usr/lib/libboost_atomic.a
/usr/lib/libboost_atomic.so
/usr/lib/libboost_atomic.so.1.65.1
/usr/lib/libboost_chrono.a
/usr/lib/libboost_chrono.so
/usr/include/boost/aligned_storage.hpp
/usr/include/boost/align.hpp
/usr/include/boost/any.hpp
/usr/include/boost/array.hpp
/usr/include/boost/asio.hpp

Saída do comando ninja dentro do meu projeto:

[0/1] Regenerating build files.
The Meson build system
Version: 0.43.0
Source dir: /home/io/prog/myproj/src
Build dir: /home/io/prog/myproj/builddir
Build type: native build
Project name: myproj
Native C++ compiler: c++ (gcc 7.2.0)
Build machine cpu family: x86_64
Build machine cpu: x86_64
Dependency Boost () found: NO

Meson encountered an error in file meson.build, line 2, column 0:
Dependency "boost" not found

[...]

O que estou perdendo?

    
por yolenoyer 05.12.2017 / 16:41

1 resposta

2

O seguinte problema resolveu meu problema:

Boost não detectado no Fedora · Edição # 2547

Eu substitui o arquivo de compilação do meson pelo seguinte:

project('myproj', 'cpp')
cxx = meson.get_compiler('cpp')
boost_dep = [
    cxx.find_library('boost_system'),
    cxx.find_library('boost_filesystem'),
]
executable('myproj', 'main.cpp', dependencies : boost_dep)
    
por 05.12.2017 / 17:16