2012-03-10 91 views
2

我不是一個有經驗的程序員。 我試圖削減增強的一部分,並且直接粘貼到我的項目是在Visual Studio中的C++解決方案2010年 我已經做到了這種方式:#include <boost/chrono.hpp>導致無法解析的外部符號,使用bcp

  • 解壓Boost庫
  • bootstrap.bat
  • bjam tools/bcd - 這創造目錄 \ bin.v2 \工具\上述
  • 提到BCP \ MSVC-10.0 \發佈\鏈接靜態\線程,多\
  • 改變目錄到我寫了一個腳本FO。 ř掃描在溶液中的所有文件,其結果是:
    不可複製static_assert比螺紋/鎖螺紋計時進程間/ mapped_region螺紋/ recursive_mutex CRC cstdint間/ file_mapping make_shared shared_ptr的lexical_cast的
  • bcp --boost=C:\Users\xxxxxxxx\boost_1_49_0 noncopyable static_assert ratio thread/locks thread chrono interprocess/mapped_region thread/recursive_mutex crc cstdint interprocess/file_mapping make_shared shared_ptr lexical_cast lexical_cast ./myboost
  • 拷貝 ./myboost進入解決方案,設置屬性,一切工作正常,直到我不想#include「boost/chrono.hpp」(例如#include「boost/lexical_cast.hpp」可以)。
  • 升壓/ chrono.hpp導致連接錯誤:

    3> playerMain.obj:錯誤LNK2001:解析外部符號「類boost ::系統:: error_category常量& __cdecl提高::系統:: system_category(空隙) 「(system_category @系統@ @@升壓@ YAABVerror_category 12 @ XZ)

    3> playerMain.obj:錯誤LNK2001:解析外部符號」 類boost ::系統:: error_category常量& __cdecl升壓::系統: :generic_category(void)「(?generic_category @ system @ boost @@ YAABVerror_category @ 12 @ XZ)


我是否正確使用bcp?
我該怎麼做才能使它工作?

+0

歡迎使用stackoverflow。 Boost用於多種平臺(Windows,Mac,Linux),所以在尋求安裝幫助之前,指定使用的平臺和編譯器非常重要。我必須通過在你的問題中發現'msvc-10'來推斷你正在使用Visual Studio。 – 2012-03-10 23:31:16

+0

完成。感謝您的建議。 – Michal 2012-03-11 06:15:51

回答

3

安裝用於Visual Studio的Boost的過程相當清楚地說明了here。你不需要編寫任何安裝腳本。

重要的是要知道大多數Boost庫只是頭文件(例如Boost.Lexical_Cast),但有些需要鏈接到靜態庫(如Boost.System)。有關如何讓Visual Studio知道Boost靜態庫的位置,請參閱入門文檔的section

This section列出哪些庫是而不是只有標頭。一些圖書館(如Boost.Chrono和Boost.Asio)本身只有標題,但它們依賴於需要鏈接到程序中的Boost.System

希望這會有所幫助。

+0

Chrono未在本節中提及(http://www.boost.org/doc/libs/1_49_0/more/getting_started/windows.html#header-only-libraries)。 在[chrono doumentation](http://www.boost.org/doc/libs/1_47_0/doc/html/chrono/reference.html#chrono.reference.cpp0x.chrono_hpp.conf.header_only)中有一種方法僅將chrono用作標題。 我仍然在處理這個問題。 – Michal 2012-03-12 06:58:12

+0

問題解決了。你說得對,我必須在VC++目錄中添加boost/stage/lib。謝謝。 – Michal 2012-03-12 07:59:27

相關問題