首页IT科技ubuntu编译java(Ubuntu下编译boost(附Eclipse静态链接库设置) MyMSDN C++博客)

ubuntu编译java(Ubuntu下编译boost(附Eclipse静态链接库设置) MyMSDN C++博客)

时间2025-09-19 02:38:43分类IT科技浏览5868
导读:Ubuntu下编译boost(附Eclipse静态链接库设置)...

Ubuntu下编译boost(附Eclipse静态链接库设置)

这不是一篇向导                ,全面的向导请看这里(http://goo.gl/XcAf)                。

这仅是一篇笔记                       。这里用bjam方式进行编译        。 下载boost            。(http://cdnetworks-kr-1.dl.sourceforge.net/project/boost/boost/1.42.0/boost_1_42_0.tar.bz2) 解压到指定文件夹                        ,我是将它解压到根目录下的一个sourcecode文件夹下                       。
/home/volnet/sourcecode/boost_1_42_0
启动终端(ctrl+f2,输入“gnome-terminal                ”)            。生成bjam脚本        。
./bootstrap.sh --prefix=/home/volnet/sourcecode/boost_install

如果不带--prefix参数的话(推荐)       ,默认的路径是/usr/local/include和/usr/local/lib

./bootstrap.sh

使用--help参数可以查看帮助            ,用-h可以查看简要帮助                       。

./bootstrap.sh --help

生成脚本bjam                        ,已经存在的脚本将被自动备份                。

volnet@Ubuntu:~/sourcecode/boost_1_42_0$ ./bootstrap.sh --prefix=/home/volnet/sourcecode/boost_install/ Building Boost.Jam with toolset gcc... tools/jam/src/bin.linuxx86/bjam Detecting Python version... 2.6 Detecting Python root... /usr Unicode/ICU support for Boost.Regex?... /usr Backing up existing Boost.Build configuration in project-config.jam.4 Generating Boost.Build configuration in project-config.jam... Bootstrapping is done. To build, run: ./bjam To adjust configuration, edit project-config.jam. Further information: - Command line help: ./bjam --help - Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/boost-build2/doc/html/index.html 然后就是利用生成的bjam脚本编译源码了    。
volnet@Ubuntu:~/sourcecode/boost_1_42_0$ sudo ./bjam -a -sHAVE_ICU=1 installNote: Building Boost.Regex with Unicode/ICU support enabled Using ICU in /usr/include
./是unix-like系统执行文件的前缀           ,这里就是指要执行bjam文件                       。 -a是参数        ,代表重新编译(Rebuild)                    。输入./bjam -h获得更多帮助。 -sHAVE_ICU=1                        ,代表支持Unicode/ICU                   。点击这里(http://goo.gl/ySEe)

前提:系统内需要安装有libicu-dev               ,可以在终端输入:

sudo apt-get install libicu-dev
install    ,表示安装 --clean                        ,表示清理                       。当前语句中包含-a                   ,则不需要先手动清理,否则需要先运行
./bjam --clean
如果你执行上一步                    ,会出现诸如:mpi的问题                       ,多半是本机没有安装mpi    。根据系统提示   ,你可以找到有/home/volnet/sourcecode/boost_1_42_0/tools/build/v2/user-config.jam                。在文件最后跟上
using mpi ;

即可                       。然后如果还是有mpi问题                ,说明本机没有安装mpi        。

sudo apt-get install mpi-default-dev

界此应该顺利通过编译了            。并在/usr/local/lib下有了boost的库了                       。

下面讨论一下链接静态链接库在Eclipse里的问题            。

在Unix variants向导里                        ,官方提供了一个使用正则表达式的程序        。

在Eclipse里       ,新增c++ project            ,并使用Linux C++编译器                       。将代码拷贝到文件中:

因为要静态链接到正则表达式的库                        ,所以如下图所示           ,设置对应的*.a文件路径到eclipse        ,以使链接器能够找到它                。

编译通过!

为了我们的程序能够正确载入                        ,我们需要让我们的程序在我们的系统范围内也能够找到我们的库    。这时候我们需要在设置一下                       。详见这部分的相关介绍                    。

测试程序!

这里test是一个文件。

在Ubuntu下安装软件是比较方便的               ,敲个apt-get install    ,剩下的事情就不用管了                        ,要在Ubuntu上安装boost库                   ,也可以通过这样的方式来进行,只需要下面的指令即可:

apt-get install libboost-dev libboost-dbg libboost-doc bcp libboost-*

如果提示权限不够                    ,就加上sudo或者切换到拥有足够权限的账号进行安装!

linux自身就带有STL了                       ,是 SGI版本的   ,可以直接使用                ,不用安装                   。

好了                        ,耐心等待该指令执行完成即可!

apt-get install libboost-dev libboost-dbg libboost-doc bcp libboost-*
声明:本站所有文章       ,如无特殊说明或标注            ,均为本站原创发布                       。任何个人或组织                        ,在未征得本站同意时           ,禁止复制                、盗用                        、采集       、发布本站内容到任何网站            、书籍等各类媒体平台    。如若本站内容侵犯了原著者的合法权益        ,可联系我们进行处理                。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
终端命令行怎么输入命令(jobs命令 – 显示终端后台的作业信息) vue v-if v-show(Vue中v-if、v-if-else、v-else-if与v-show的基本使用)