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的移植工作就完成了。