这些是我(许多步骤中的一个)步骤,目的是构建 list_includes 示例,导致无处可做:
$ ./bootstrap.sh
$ ./b2 --with-wave --with-program_options --with-filesystem --with-system --with-thread --with-date_time
我从构建目录内的Jamfile中获取了这些依赖项
$ ./b2安装
$ cd libs / wave / samples / list_includes / build
仅用于演示路径
$ ../../../../../ b2
或
无论我怎么做,我都能做到这一点(为了便于阅读,省略了模板参数):
对`boost :: wave :: cpplexer :: lexertl :: new_lexer_gen <> :: new_lexer(__ gnu_cxx :: __ normal_iterator <> const&,__gnu_cxx :: __ normal_iterator <> const&,boost :: wave :: util:的未定义引用:file_position <> const&,boost :: wave :: language_support)' collect2:错误:ld返回1退出状态
现在我不明白为什么它抱怨cpplexer,因为它是库本身的一部分-库是在命令行中构建和指定的!感谢您的帮助/咨询。
更新:一个一般问题的重复吗?我知道我可能会错过一些东西,我想问的是什么,因为我根据官方手册使用了官方构建文件,感谢您阅读我的问题。
答案 0 :(得分:1)
解决了这个噩梦...叛徒是lexertl_interface.hpp
!
在其中插入以下内容:#include <boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp>
并更改第70-71行:
返回new_lexer_gen :: new_lexer(first,last,pos,language);
收件人:
return boost :: wave :: cpplexer :: new_lexer_gen :: new_lexer(first,last,pos,language);