gsl編譯時makesh
A. 在kali linux 系統中如何安裝gnuradio
10kali 1.09安裝gnuradio,配置軟體無線電教程GNURadio可謂是開源界無線電愛好者的」軍火庫」。看名字可能你就猜到了,GNURadio是開源的,並且使用GPL協議開源。
項目主頁和介紹:(可能被牆了,自行翻牆)
http://gnuradio.org/redmine/projects/gnuradio/wiki
安裝GNURadio有三種方式:(1)自動化安裝腳本安裝(2)手動編譯安裝
在支持的情況下盡量使用自動化安裝腳本進行安裝,原因是各linux發行版更新源中的GNURadio版本相對較老,可能會有相關的依賴問題。且使用自動化安裝腳本可以使用到最新版本的GNURadio,並且省去了手動編譯安裝的麻煩。
(1)使用自動化編譯腳本進行安裝(推薦)
mkdir src
進入存放源碼與腳本的文件夾:
cd src
下載自動化安裝腳本並執行:
wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio
安裝過車給中會提示用戶是否執行腳本,點擊y即可,然後請求root許可權等,請根據提示操作,另外編譯的時間較長,可能會耗費數小時,請耐心等待。
如果發現無法下載請使用VPN或者其他代理翻牆。
kali1.06,1.09均不支持腳本安裝。需要手動編譯安裝。
(2)手動編譯安裝 ,手動編譯的順序是
- 安裝各種依賴包
- 安裝gnuradio
- hackrf / rtlsdr
- gr-osmosdr
sudo apt-get -y install build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0
1
sudo apt-get -y install build-essential cmake git-core autoconf automakelibtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0
編譯GNURadiogit clone --progress http://gnuradio.org/git/gnuradio.git cd gnuradio mkdir build cd build cmake ../ make -j4 #4代表用4核編譯 sudo make install sudo ldconfig
1
2
3
4
5
6
7
8
git clone --progress http://gnuradio.org/git/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake ../
make -j4 #4代表用4核編譯
sudo make install
sudo ldconfig
編譯hackrfgit clone --progress http://github.com/mossmann/hackrf.git cd hackrf/host mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig
1
2
3
4
5
6
7
8
git clone --progress http://github.com/mossmann/hackrf.git
cd hackrf/host
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
編譯rtlsdr(可選)git clone --progress git://git.osmocom.org/rtl-sdr cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON sudo make install sudo ldconfig
1
2
3
4
5
6
7
git clone --progress git://git.osmocom.org/rtl-sdr
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
sudo make install
sudo ldconfig
編譯gr-osmosdrgit clone --progress git://git.osmocom.org/gr-osmosdr cd gr-osmocom mkdir build cd build cmake ../ make sudo make install sudo ldconfig
1
2
3
4
5
6
7
8
git clone --progress git://git.osmocom.org/gr-osmosdr
cd gr-osmocom
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
編譯gqrx(可選)git clone https://github.com/csete/gqrx.git cd gqrx mkdir build cd build qmake ../gqrx.pro make sudo make install sudo ldconfig
1
2
3
4
5
6
7
8
git clone https://github.com/csete/gqrx.git
cd gqrx
mkdir build
cd build
qmake ../gqrx.pro
make
sudo make install
sudo ldconfig
編譯完成後你可以嘗試以下命令
- osmocom_fft : 一個簡單的HackRF頻譜儀
- osmocom_siggen : 一個簡單的HackRF信號源
- gqrx : 類似於SDR#的廣播接收器
B. 如何編譯Windows版本的GSL
GSL全名為GNU Scientific Library,是GNU發起的一個科學計算項目,採用C語言編寫,可以在C/C++開發中廣泛使用。因為是開源項目,在Windows平台下面沒有現成的安裝文件可供使用,一般需要自己編譯這個項目。現在我把自己從網上找的資料和自己編譯的經過匯總一下,寫成這個教程。
在Windows平台上編譯GSL主要使用MinGW和MSYS這兩個工具,
(1)下載安裝 MinGW(安裝時選擇gcc,g++和Make這三項)
(2)下載鉛讓纖安裝 MSYS
(3)下載MinGW Utilities 解壓復制到MSYS安裝目錄
(4)下載解壓gsl源碼,
(5)進入gsl目錄,執行命令:
./configure
make
make install
(6)完成編譯之後,在MSYS安裝目錄下的
local/bin有編譯了的gsl動態庫文件libgsl-0.dll libgslcblas-0.dll
local/lib有編譯好了的靜態庫文件libgsl.a libgsl.dll.a libgslcblas.a libgslcblas.dll.a
local/include有編程槐仿需要的gsl頭文件
(7)此時你會發現,編譯的結果缺少lib文件,現在我們來生成lib文件
cd /usr/local/bin
pexports libgsl-0.dll >libgsl-0.def
pexports libgslcblas-0.dll >libgslcblas-0.def
這時候就生產了兩個def文件
(8)使用VC6或以上版本的lib命令,生成lib文件,具體如下:
lib /machine:i386 /def:libgsl-0.def
lib /machine:i386 /def:libgslcblas-0.def
(9)動態鏈接庫拷貝到系統的Windows文件夾下面;
將gsl頭文件(local/include裡面的gsl目錄)拷貝到include文件夾下面;
lib文件和*.a文件(local/lib下面)放到Lib文件夾下面,
編譯器tools-options-directories添加Lib路徑和Include路徑
最後一步就是在滑簡VC6的工程設置中的object/library moles裡面添加以下內容:
libgslcblas-0.lib libgsl-0.lib
至此,整個gsl的移植工作就完成了。