2010-09-04 90 views
5

我寫了下面的代碼升壓問題7

#include <iostream> 
#include <boost/asio.hpp> 
#include <boost/date_time/posix_time/posix_time.hpp> 
#include <boost/filesystem.hpp> 
#include <boost/system/windows_error.hpp> 

using namespace boost::system; 

int main(){ 

    boost::asio::io_service io; 
    boost::asio::deadline_timer t(io,boost::posix_time::seconds(5)); 
    t.wait(); 
    std::cout<<"hello world"; 
    return 0; 
} 

,我得到以下錯誤:

1>LINK : fatal error LNK1104: cannot open file 'libboost_system-vc100-mt-gd-1_44.lib' 

我不知道如何和什麼做的,能否請您解釋一下發生了什麼以及我可以採取哪些步驟來解決它?

+0

@algorithms:你使用的是MSVC++還是g ++? – 2010-09-04 14:45:21

+0

visual C++ MSVC 2010我已經構建了boost版本的所有庫1.44 – user439547 2010-09-04 14:47:24

+0

@algorithms:查看我的答案。 :-) – 2010-09-04 14:59:34

回答

7

好吧,對於MSVC++ 2010

Project Properties,轉到

Configuration Properties -> Linker -> General -> Additional Library Directories,並添加那裏的路徑*.lib文件(例如:C:\boost_1_41_0\stage\lib

+0

是的,但如果我指出增強庫本身的完整路徑爲什麼不工作?例如,我在桌面上提升,因此我將指示路徑 C:\ Users \ David \ Desktop \ boost_1_44_0 – user439547 2010-09-04 15:12:24

+0

您必須按照我的建議分別添加* .lib文件的路徑(鏈接器搜索路徑)。 – 2010-09-04 15:14:13

+0

我已經做了,但沒有工作,因爲我需要其他鏈接路徑,如網絡asio – user439547 2010-09-04 15:17:51

1

據我可以從錯誤中告訴它編譯的消息,但無法找到boost編譯庫。

這些你必須建立自己,除非你能找到它們預構建。

IIRC boost使用名爲bjam的工具構建。我認爲這是相當全面的解釋:http://www.highscore.de/cpp/boostbuild/index.html

構建完成後,必須指示編譯器使用項目屬性將其鏈接起來。

+0

好吧聽傢伙我已經下載助推librarys,並建立它,所以我不明白建立嗎?請幫助我 – user439547 2010-09-04 15:01:06

0

我在Visual Studio 2010中的一個實例中工作時,我開始了另外的指示,亂寫了一些代碼,我很震驚地看到相同的錯誤信息。重置includes和lib(Project-> NameofProject Properties然後選擇VC++目錄)並在調試和發佈之間來回切換,起初只有一次,然後再多幾次,因爲我越來越擔心這種工作方式。

即使IDE在幾分鐘後(火熱網頁瀏覽)沒有報告任何活動('Build Failed',它顯示的地方顯示包含/ libs的地方),我回到了發現它已經默默地自我修復。

+0

歡迎來到堆棧溢出!感謝您的發佈!請勿在您的帖子中使用簽名/標語。您的用戶箱計爲您的簽名,您可以使用您的個人資料發佈您喜歡的任何關於您自己的信息。 [關於簽名/標語的常見問題](http://stackoverflow.com/faq#signatures) – 2013-02-22 01:46:34