Boost netbeans c++;项目?
我正在为我的项目使用boost。我有一个boost 1.41的用户帐户(无sudo权限),我的项目至少需要boost 1.53,因此我想使用自定义boost构建目录来编译我的程序。我已经成功地在我的系统上构建了boost。但我不知道如何将它们与我的可执行文件链接。我使用Jamfiles进行代码编译 我已经用单个文件成功地完成了它。比如说Boost netbeans c++;项目?,boost,boost-build,Boost,Boost Build,我正在为我的项目使用boost。我有一个boost 1.41的用户帐户(无sudo权限),我的项目至少需要boost 1.53,因此我想使用自定义boost构建目录来编译我的程序。我已经成功地在我的系统上构建了boost。但我不知道如何将它们与我的可执行文件链接。我使用Jamfiles进行代码编译 我已经用单个文件成功地完成了它。比如说 #include <boost/version.hpp> #include <iostream> using namespace st
#include <boost/version.hpp>
#include <iostream>
using namespace std;
int main()
{
cout << "Boost version: " << BOOST_LIB_VERSION << endl;
return 0;
}
如果我这样做:
[user@server ~]$ g++ -I boost_1_53_0/ test.cpp -L~/boost/stage/lib
[user@server ~]$ ./a.out
Boost version: 1_53
这意味着在第二种方法中,我使用的不是系统的boost,而是我自己构建的boost库。这就是我想使用Jamfile
和Jamroot
文件来处理我的NB项目的方法
My 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 ;
生成目录:
build-dir/boost/bin.v2/
config.log
libs/
更新:为库目标添加搜索路径没有帮助
lib boost_iostreams : :
<link>shared
<search>"path/to/boost"
<name>boost_iostreams ;
lib boost\u iostreams::
共享
“路径/到/推进”
增强流;
请帮帮我 您的包含路径设置为什么?这个版本号来自一个标题,这就是为什么
g++-I boost\u 1\u 53\u 0/test.cpp
起作用的原因。我并不真正使用bjam,但我认为您也需要为lib目标设置适当的值。或者在目标上设置一次。您是否尝试过检查环境中指定的boost版本?($PATH和$INCLUDE)?
build-dir/boost/bin.v2/
config.log
libs/
lib boost_iostreams : :
<link>shared
<search>"path/to/boost"
<name>boost_iostreams ;