2011-02-10 113 views
3

我正在嘗試使用boost :: filesystem的函數來更改我當前的工作目錄(並在必要時創建它)。我收到鏈接錯誤:與Boost.Filesystem鏈接的問題

SBDir.cpp:(.text+0x23): undefined reference to `boost::system::generic_category()' 
SBDir.cpp:(.text+0x2f): undefined reference to `boost::system::generic_category()' 
SBDir.cpp:(.text+0x3b): undefined reference to `boost::system::system_category()' 

但我上午聯對Boost庫?!?我用的是以下幾點:

-lboost_system -lboost_system-mt -lboost_filesystem -lboost_filesystem-mt 

而且我知道它可以找到他們,因爲有-Wl, -t我得到:

-lboost_system (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system.so) 
-lboost_system-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system-mt.so) 
-lboost_filesystem (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem.so) 
-lboost_filesystem-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem-mt.so) 

FWIW:我用gcc Ubuntu 4.4.3-4ubuntu54.4.3

+0

提供編譯和鏈接命令 – 2011-02-10 15:37:54

回答

1

所以我找不出什麼地方出了問題 - 所以我嘗試卸載Ubuntu boost包並從頭開始構建它。我現在升級到1.45.0 &所有鏈接。不確定這是否是特定於版本的問題,但如果我稍後再學習,我會回來並更新。

2

我有這個相同的錯誤信息與升壓1.46(標準與Ubuntu 11.10),我不得不添加-lboost_system,我不需要在11.04和提高1.42。它不會回答你的問題,但可能會引起用戶使用Google錯誤信息帶來的興趣。