2011-05-03 72 views
0

我在FreeBSD和試圖逃離UHD:http://www.ettus.com/download這通常應該在FreeBSD下運行,但我遇到問題時,我嘗試建立它像這裏規定: http://www.ettus.com/uhd_docs/manual/html/build.html#build-instructions-unixUHD產生鏈接錯誤在FreeBSD下

我得到:

[ 73%] Building CXX object examples/CMakeFiles/benchmark_rx_rate.dir/benchmark_rx_rate.cpp.o 
Linking CXX executable benchmark_rx_rate 
../lib/libuhd.so.003.000: undefined reference to `uhd::set_thread_priority(float, bool)' 
collect2: ld returned 1 exit status 
*** Error code 1 

現在這似乎是一個鏈接器錯誤,但如何擺脫它?我嘗試使用ldconfig設置路徑,但這並沒有改變一件事。也許你們中的一些人有一個想法,我可以繼續尋找。

回答

0

如果我弄清楚了,libuhd get就是這個CMake腳本早期構建的。如果確實如此,則此錯誤表明其CMakeLists.txt文件中存在錯誤。 看起來你正在構建使用libuhd的例子。我懷疑你是否需要他們。因此,要麼在CMakeCache.txt中查找開關,並重新生成Makefiles,要麼破解CMakeLists.txt,以便不包含示例dir。

您可能嘗試的另一件事 - 將CMAKE_EXE_LINKER_FLAGS設置爲-L/usr/local/include。

0

這是創建FreeBSD端口的完美場景。由於FreeBSD具有自己的一致的文件系統佈局,因此編譯器和鏈接器標記通常需要稍微修改(如arrowdodger所述)。

端口系統是持續捕捉這些配置的變化並作出任何軟件包爲便於安裝的鍵入命令的框架:

CD的/ usr /港口/ 類/應用程序名稱 & &化妝安裝清潔

在一個完美的世界中,您將創建UHD端口,將其提交審查並添加到樹中。如果你需要幫助學習如何做到這一點,FreeBSD Porter's Handbookfreebsd-ports mailing list是非常好的資源。