2016-04-30 84 views
2

我是編碼Gnuradio的初學者。 我必須在GNURadio中創建一個等於原始接收器塊的新接收器塊。 我試圖創建一個新的文件夾「GR-安全」,並複製了在GR-UHD文件夾,但運行cmake的../這發生的一切文件/文件夾內:接收塊gnuradio

CMake Error at CMakeLists.txt:23 (include): 
include could not find load file: 

GrBoost 


CMake Error at CMakeLists.txt:30 (include): 
include could not find load file: 

GrComponent 


CMake Error at CMakeLists.txt:31 (GR_REGISTER_COMPONENT): 
Unknown CMake command "GR_REGISTER_COMPONENT". 


CMake Warning (dev) in CMakeLists.txt: 
No cmake_minimum_required command is present. A line of code such as 

cmake_minimum_required(VERSION 2.8) 

should be added at the top of the file. The version specified may be lower 
if you wish to support older CMake versions for this project. For more 
information run "cmake --help-policy CMP0000". 
This warning is for project developers. Use -Wno-dev to suppress it. 

-- Configuring incomplete, errors occurred! 
See also "/home/testbed/gnuradio3.6.5.1/gnuradio-3.6.5/gr-secure/build  CMakeFiles/CMakeOutput.log". 

回答

2

第一件事,第一:

在構建新的東西時,您確實不應該使用GNU Radio 3.6;我們(GNU Radio項目)轉移到了3.7 年前前!發現仍然精通3.6版本的人會變得越來越困難。你甚至是如何安裝這個古老的版本,爲什麼?

此外,我們基本上不再維護常用的3.6版本 - 如果它不是基於現代操作系統與現代版本的庫依賴項,工具,編譯器一起構建的......它將很難獲得幫助,因爲沒有人再使用它來進行新的開發。

gr-uhd是一個in-tree模塊;我不能完全記住,但我認爲不可能在3.6中將它們與主GNU Radio源樹分開構建。

所以從gr-uhd開始是一個不錯的選擇。

你應該真的關於如何生成樹外模塊的official tutorial。問題:

這就是關於3.7。如果您是一位經驗豐富的3.7用戶並且會遇到3.6個項目,那麼將您的代碼結構調整爲舊的GNU Radio確實是可能的,但是找到能夠解釋如何從這個過時版本的GNU Radio開始的人是很困難的。

所以,我的答案歸結爲:

  • 如果沒有(我懷疑你有)使用3.6,安裝GNU Radio的3.7,並辦理上述
  • 提到的教程
  • 如果您已經擁有GNU Radio 3.6構建的現有代碼,但可以自由將現有代碼移植到3.7,請更新到3.7
  • 如果您維護代碼爲3.6並且無法更新,那麼您確實需要爲了得到一個與3.6.5一起工作的現有的Out-of-Tree模塊 - 如前所述,gr-uhd不是一個out-of-tree模塊,因此是錯誤的選擇。你可以根據你的模塊,但要小心:在3.7之前,OOT模塊的體系結構並沒有那麼一致,所以如果事情不能解決的話,你也可以自己去處理。