需要boost :: dynamic_bitset<>在extconf.rb中

时间:2011-10-25 19:03:47

标签: ruby gem extconf.rb

我正在发布我的Ruby C / C ++扩展,并尝试确保extconf.rb中列出了所需的所有库。我无法弄清楚如何要求升级库,尤其是dynamic_bitset<>类。

到目前为止我尝试了什么:

# Require used libraries
have_library("stdc++")
have_library("boost", "boost::dynamic_bitset<>")

即使我已经安装了升级版,并且扩展程序完美编译,我也会得到这个:

$ ruby extconf.rb
checking for main() in -lstdc++... yes 
checking for boost::dynamic_bitset<>() in -lboost... no

有关如何正确安装boost的任何想法?

1 个答案:

答案 0 :(得分:0)

dynamic_bitset未在库中定义,它是仅限标头的提升组件。 您可以在此处找到此类型的增压组件:

http://www.boost.org/doc/libs/1_57_0/more/getting_started/unix-variants.html#header-only-libraries

我测试了它,

的例子

http://www.boost.org/doc/libs/1_57_0/libs/dynamic_bitset/example/example1.cpp

编译时没有任何库:

g++ example1.cpp -o boost_test

因此,您根本不必查找升级库,但您可能希望使用have_header()find_header()dir_config()来查找升级标头。< / p>

如果你需要灵感,google for extconf.rb和boost和have_header,你可能会在github上找到一些extconf.rb文件。