GSL(GNU Scientific Library)是一个数学计算的库,最近在做固定半径的圆拟合时,最终是使用这个计算库来解决的。
在解决完固定半径圆拟合问题后,回过头来重新看这个库的功能,突然有一种杀鸡使用牛刀的感觉。 GSL覆盖的功能包括:随机数生成,最小二乘拟合,样条曲线插值,数值积分,线代运算,一维/多维函数求极值/零点,小波变换,傅里叶变换等。
GSL的官方网站http://www.gnu.org/software/gsl/提供的资料,要在Windows下编译成功,实现难度较大。在github有一个使用cmake编译的GSL库,https://github.com/ampl/gsl
Clone这个库,在工程目录下新建build文件夹,进入该文件夹。
如果要生成动态库,执行
cmake .. -G"Visual Studio 14 2015 Win64" -DGSL_INSTALL_MULTI_CONFIG=ON -DNO_AMPL_BINDINGS=1 -DCMAKE_INSTALL_PREFIX=E:/gsl-install -DBUILD_SHARED_LIBS=ON -DMSVC_RUNTIME_DYNAMIC=ON
如果要生成静态库,执行
cmake .. -G"Visual Studio 14 2015 Win64" -DGSL_INSTALL_MULTI_CONFIG=ON -DNO_AMPL_BINDINGS=1 -DCMAKE_INSTALL_PREFIX=E:/gsl-install
可以指定安装位置,也可以换成其它版本的VS。
然后可以在该文件夹下找到sln解决方案文件,可以打开在VS中编译,也可直接使用如下命令行编译。
cmake --build . --config Release --target install
使用时需要把安装位置的头文件加入包含路径,设置库文件附加依赖项,如果使用动态链接的方式,还需要把dll所在的目录加入环境变量。
|