繁体   English   中英

如何在Linux上使用Boost Wave Lib

[英]How to use Boost Wave Lib on Linux

标题

我正在尝试使用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的boost中得到的。 编译输出是超长结果,其结尾为:

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*)':

我不知道发生了什么事! 谢谢阅读! 如果可以帮助我,请!

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

尝试以下链接中的建议:

在Ubuntu 13.04上链接boost :: filesystem

1)检查您的boost库是否包含必需的符号,您可以使用以下命令: nm -D /usr/lib64/libboost_filesystem.so.1.52.0 | grep detail | c++filt | grep your names 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”(链接)命令中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM