如何在 Linux 上使用 Boost Wave Lib

How to use Boost Wave Lib on Linux

本文关键字:Boost Wave Lib Linux      更新时间:2023-10-16

标题

我正在尝试使用Boost Wave,但我无法用boost_1_55_0/lib/wave/samples中的这些示例编译它。我正在使用的系统是 Ubuntu 12.04 64 位

例如,当我尝试编译quick_start.cpp时,我使用推荐:

c++ -I ~/Documents/boost_1_55_0 quick_start.cpp -o parser 
~/Documents/boost_1_55_0/stage/lib/libboost_wave.a

libboost_wave.a是我从./b2建立提升的推荐中得到的。编译输出是一个超长的结果,结尾为:

collect2: ld returned 1 exit status

输出的其余部分看起来像(它们很长(:

/tmp/ccpBhjhs.o: In function `boost::filesystem::operator!=(boost::filesystem::path
const&, boost::filesystem::path const&)':
quick_start.cpp:     (.text._ZN5boost10filesystemneERKNS0_4pathES3_[boost::filesystem::operator!=(boost::filesystem::path const&, boost::filesystem::path const&)]+0x1f): undefined reference to `boost::filesystem::path::compare(boost::filesystem::path const&) const'
/tmp/ccpBhjhs.o: In function `boost::thread_exception::thread_exception(int, char const*)':

我不知道发生了什么!感谢您的阅读!如果你能帮我,请!

附言 我已经按照 Boost 网站上的步骤构建了波浪库。我设法使用正则表达式库来构建示例电子邮件提取程序。所以我认为我的波浪库构建正确。

尝试此链接中的建议:

链接 boost::文件系统在 Ubuntu 13.04 上

1( 检查您的提升库是否包含必需的符号,您可以使用如下内容: nm -D /usr/lib64/libboost_filesystem.so.1.52.0 | grep detail | c++filt | grep your names

2(尝试更改链接库的顺序,例如将-lboost_bla-bla-bla放在命令行的末尾,然后再次使用g ++运行此命令,不要使用make或其他东西,只需复制粘贴命令并对其进行实验即可。

3(当然,请确保您有一个"libboost_filesystem.XXX"(静态.a或共享.so库(,并确保它位于"ld"(链接(命令中。