2011-08-08 29 views
2

我成功切換到Linux,我真的開始喜歡它。除此之外,我無法將代碼與只有非標頭的boost庫鏈接。Linux make無法鏈接升壓非標頭庫

的步驟,我已經採取了:

  1. 運行sudo apt-get install libboost.*-dev在終端安裝Boost庫
  2. 讓CMake的生成我的化妝文件&定位Boost庫,因爲我已經做到了在Windows
  3. 運行make編譯

相同的代碼編譯&鏈接精細Windows下用VC++。

更多信息

您能否提供還有什麼我需要做什麼?

+1

「這個問題的標題是沒有意義的」我認錯 – BigOmega

回答

2

從您的輸出和您的CMakeFiles它看起來不像你連接你的代碼到boost文件系統庫。

即。

target_link_libraries(RCMeta ${Boost_FILESYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY}) 

注意:我可能會讓該庫的變量名稱錯誤,您可能需要仔細檢查它。

編輯:

您也可以使用通用${Boost_LIBRARIES}變量:

target_link_libraries(RCMeta ${Boost_LIBRARIES}) 

爲了您RCMeta圖書館

+0

我理解的正確我必須鏈接RCMeta(靜態庫),而不是可執行文件? – Mythli

+1

@Mythli:我不認爲有可能編譯/鏈接庫,否則。 – GWW

+0

工作就像你說的。學到了新的東西。非常感謝你! – Mythli