用户在netbeans c ++项目中定义了boost lib吗?

时间:2016-11-04 12:32:02

标签: boost boost-build

我正在为我的项目使用boost。我有一个用户帐户(没有sudo权限),升级1.41,我的项目至少需要提升1.53,所以我想使用自定义boost-build目录来编译我的程序。我已经成功地在我的系统上构建了增​​强功能。但我不知道如何将它们与我的可执行文件链接。我正在使用Jamfiles进行代码编译。

我已经成功完成了单个文件。例如。

#include <boost/version.hpp>

#include <iostream>
using namespace std;
int main()
{
    cout << "Boost version: " << BOOST_LIB_VERSION << endl;
    return 0;
}

但是当我使用命令编译并运行它时:

[user@server ~]$ g++ -std=c++11 test.cpp 
[user@server ~]$ ./a.out 
Boost version: 1_40

如果我这样做:

[user@server ~]$ g++ -I boost_1_53_0/  test.cpp -L~/boost/stage/lib
[user@server ~]$ ./a.out 
Boost version: 1_53

这意味着在第二种方法中,我没有使用系统的提升,而是使用我自己构建的boost lib。这就是我想使用JamfileJamroot文件对我的NB项目进行的操作。

我的Jamroot lib目标包含以下字段:

lib boost_system : :
        <link>shared
        <name>boost_system ;

lib boost_thread : :
        <link>shared
        <name>boost_thread ;

lib boost_program_options : :
        <link>shared
        <name>boost_program_options ;

lib boost_iostreams : :
        <link>shared
        <name>boost_iostreams ;

我想我必须添加&#34; path / to / build&#34;它。但我还没有尝试过。

My Boost目录:

boost_1_53_0
    ...
    stage/lib/[lib files]

积DIR:

build-dir/boost/bin.v2/
    config.log
    libs/

更新:为lib目标添加搜索路径无济于事

lib boost_iostreams : :
            <link>shared
            <search>"path/to/boost"
            <name>boost_iostreams ;

请帮助我!

0 个答案:

没有答案