読者です 読者をやめる 読者になる 読者になる

Boost.BuildのJamfileでboostライブラリをリンクする方法

たったそれだけなんだが、ググってもなかなかやり方がわからなかったので、書き残す。

コンパイルしたいmain.cpp

#include <boost/program_options.hpp>

int main(int ac, char* av[])
{
    namespace po = boost::program_options;

    // (略)

    return 0;
}

方法1

リンクするライブラリをフルパスで直に書く。

Jamroot.jam

exe main : main.cpp /usr/lib/i386-linux-gnu/libboost_program_options.so ;

方法2

リンクするライブラリをlibルールとして書く。

Jamroot.jam

lib boost_po : : <name>boost_program_options ;

exe main : main.cpp boost_po ;

方法3

リンクするライブラリをlibルールに書き、project全体でリンクさせる。

Jamroot.jam

lib boost_po : : <name>boost_program_options ;

project 
    : requirements
        <library>boost_po
        ;

exe main : main.cpp ;

参考

Boost.Build tutorial

Libraries

Boost.Build User Manual

C++ - Boost.Build の簡単な使い方 (TDDしてみる) - Qiita