2011-10-25 64 views
3

我正在發佈我的Ruby C/C++擴展,並嘗試確保所有需要的庫都在extconf.rb中列出。我一直無法弄清楚如何需要boost庫,尤其是dynamic_bitset類。在extconf.rb中需要boost :: 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 

任何想法如何正確需要升級才能安裝?

回答

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 

所以你根本不需要尋找boost庫,但你可能想看看使用have_header()find_header()dir_config()

如果你需要靈感,谷歌的extconf.rb和boost和have_header,你可能會發現一些github上的extconf.rb文件。

相關問題