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

发布于 2024-12-11 18:10:28 字数 471 浏览 1 评论 0 原文

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

到目前为止我尝试过的:

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

即使我已经安装了 boost,并且扩展编译完美,我得到了这个:

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

关于如何正确要求安装 boost 的任何想法?

I am in the process of releasing my Ruby C/C++ extension and try to make sure that all libraries required are listed in extconf.rb. I have not been able to figure out how to require the boost library and especially the dynamic_bitset<> class.

What I tried so far:

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

Even though I've got boost installed, and the extension compiles perfectly I'm getting this:

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

Any ideas on how to properly require boost to be installed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野鹿林 2024-12-18 18:10:28

dynamic_bitset 未在库中定义,它是一个仅标头的 boost 组件。
您可以在这里找到哪些 boost 组件属于这种类型:

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

我测试了它,示例位于

< a href="http://www.boost.org/doc/libs/1_57_0/libs/dynamic_bitset/example/example1.cpp" rel="nofollow">http://www.boost.org/doc/libs/1_57_0/libs/dynamic_bitset/example/example1.cpp

编译时没有任何库:

g++ example1.cpp -o boost_test

所以你不必寻找boost 库,但您可能想使用 have_header()find_header()dir_config() 查找 boost 标头。

如果您需要灵感,请在 google 上搜索 extconf.rb 和 boost 以及 have_header,您可能会在 github 上找到一些 extconf.rb 文件。

dynamic_bitset is not defined in a library, it's a header-only boost component.
You can find out which boost components are of this type here:

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

I tested it out, the example at

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

compiled without any libraries:

g++ example1.cpp -o boost_test

So you don't have to look for the boost library at all, but you might want to look for the boost header using have_header(), find_header(), dir_config().

If you need inspiration, google for extconf.rb and boost and have_header, you might find some extconf.rb files on github.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文