Требовать boost :: dynamic_bitset <> в extconf.rb - PullRequest
3 голосов
/ 25 октября 2011

Я нахожусь в процессе выпуска моего расширения Ruby C / C ++ и пытаюсь удостовериться, что все необходимые библиотеки перечислены в extconf.rb. Я не смог выяснить, как требовать библиотеку наддува и особенно класс 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

Какие-нибудь идеи о том, как правильно требовать установки надстройки?

1 Ответ

0 голосов
/ 18 января 2015

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

Так что вам вообще не нужно искать библиотеку boost, но вы можете искать заголовок boost, используя have_header(), find_header(), dir_config().

Если вам нужно вдохновение, Google для extconf.rb и boost и have_header, вы можете найти некоторые файлы extconf.rb на github.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...