2012-07-11 118 views
0

我在代碼中使用了boost的dynamic_bitset。我想知道是否應該爲代碼包含任何提升庫。我讀過,我們只需要在include指令中加入boost路徑,boost應該可以正常工作(this link)。在Ubuntu中編譯C++ boost dynamic_bitset代碼

但是當我嘗試編譯我的代碼時,出現以下錯誤。

升壓/來,dynamic_bitset/dynamic_bitset.hpp中:沒有這樣的文件或目錄

下面是一個簡單的升壓代碼,使用dynamic_bit的。

#include <iostream> 
    #include <boost/dynamic_bitset.hpp> 
// Also tried giving the entire boost path 
// #include "/home/user_name/BOOST_CPP/boost_1_50_0/boost_1_50_0/boost/dynamic_bitset.hpp" 
    using namespace std; 
    int main(int argc, char* argv[]) 
    { 
     cout<<"Welcome to Boost"<<endl; 
     boost::dynamic_bitset<> x(10); 
     return 0; 
    } 

[編輯] 我使用g++ boost_hello.cpp我缺少的東西編? 我可以在哪裏找到用於編譯boost代碼的庫? PS:我跟着Jedf's blog在安裝boost庫時成功了。

+0

你用什麼命令編譯你的代碼?你在哪裏安裝Boost? – 2012-07-11 20:15:26

回答

1

最有可能您的包含指令不正確。您的錯誤似乎表明#include <boost/dynamic_bitset.hpp>正在工作,但是,該標頭確實是#include "boost/dynamic_bitset/dynamic_bitset.hpp",這是您的錯誤抱怨的標題。

我假設你使用g ++,很可能你需要在編譯命令行中使用類似g++ -I /home/user_name/BOOST_CPP/boost_1_50_0/boost_1_50_0/的東西。

如果您將顯示您正在使用的編譯命令,我們可以肯定地說。

+0

我使用g ++ boost_hello.cpp編譯我錯過了什麼嗎? – SyncMaster 2012-07-11 20:47:04

+0

工作。 :)我不得不在包括我的提升位置,同時編譯它。 – SyncMaster 2012-07-11 20:49:10