2011-03-11 52 views
1

試圖用提高文件系統3,但是當我聯繫,我得到以下未定義的參考:的boost :: filesystem3 ::路徑::的codecvt()未定義參考

../myfile-g.o: In function `boost::filesystem3::path::codecvt()': 
../boost/filesystem/v3/path.hpp:377: undefined reference to 
`boost::filesystem3::path::wchar_t_codecvt_facet()' 

我在升壓grep'd無處不在,沒有wchar_t_codecvt_facet()

這是在哪裏定義的?

謝謝

回答

3

也許你錯過了一個鏈接庫?當我grep爲它時,我得到:

filesystem/v3/path.hpp:371 return *wchat_t_codecvt_facet(); 
filesystem/v3/path.hpp:462 static const codecvt_type *& wchar_t_codecvt_facet(); 

這是在macosx上的boost 1.44。由於該函數是在頭文件中定義的,它應該是libboost_filesystem的一部分。我不確定你使用的是什麼編譯器/鏈接器,但是如果升級在你的路徑上正確,並且你使用的是g ++,標誌-libboost_filesystem就可以工作。

+0

沒錯,我一直認爲Boost只是一個模板庫,但有些部分實際上有一個lib鏈接進來!杜哈,這是其中之一,謝謝你指出。 – 2011-03-11 17:35:58

+0

沒問題,我希望它能正常工作。 – GWW 2011-03-11 18:24:16

2

嘗試爲更新版本的boost庫添加-lboost_filesystem

+0

謝謝,這是爲我做的。 – Gubatron 2014-09-07 02:09:34