OpenCV搭建GSL环境

OpenCV搭建GSL环境

为了用粒子滤波算法,需要搭建GSL环境。网上的方法有很多,按着步骤做总还是有做不明白或者最后搭建失败的情况。折腾了一番最后成功搭建起来了,在这里把过程分享给大家希望能帮助到大家。

配置:Win7+VS2013+OpenCV2.4.10+GSL1.8

  1. 下载GSL1.8,下载地址:http://download.csdn.net/download/xuxinchao84/3299818

  2. 下载得到的是两个.exe的文件,分别点击安装。安装时记下自己的安装位置,后续配置的时候需要用到这个位置。比如笔者就是安装在了D:\Program Files这个目录下。安装完成后会自动生成GnuWin32这个文件夹。在刚才生成的GnuWin32文件夹里打开名为lib的文件夹,会发现里面并没有.lib类型的文件,只有几个扩展名为.def和.a的文件,因此需要进行转换。

  3. 点击:开始–程序–Visual Studio 2013–Visual Studio Tools–VS2013 x64 兼容工具命令提示
    这里写图片描述
    这里写图片描述
    这里使用的是VS自带的CMD命令行来跑出我们需要的.lib文件。
    注意:不能使用Windows自带的CMD命令。

  4. 在打开的CMD命令框中依次输入:

    D:
    回车,接着输入
    cd Program Files
    再回车,接着输入
    cd GnuW32
    回车,输入
    cd lib

    这样一来我们就用CMD进入了lib文件夹了。以上是针对我的两个GSL文件安装在了D:\Program Files 目录下了。如果安装在了别的目录下,只需要修改对应的文件夹名称即可,CD这两个字母注意不要忘了哦,CD与文件夹名称之间的空格也不要漏了哦。也有指出只需要一次性输入 CD D:\Program Files\GnuWin32\lib 回车就可以直接进入文件夹的,但是笔者尝试过并不能直接进入,还是老老实实一个一个打开吧。
    在进入lib文件夹之后,在依次输入:

    lib /machine:i386 /def:libgsl.def
    lib /machine:i386 /def:libgslcblas.def

    注意以上两句命令其中的空格不能少了(空格都分别在两个/的左边),否则就会转换失败。转换成功的话就会出现如下提示:
    这里写图片描述
    这下在回去看一下自己GSL下的lib文件夹,是不是已经生成了两个.lib文件了呢。

  5. 添加Path环境变量:
    桌面的计算机→右键→属性→高级系统设置→高级→环境变量→在系统变量中找到path,复制GunWin32的bin目录进去(注意,与前一个变量用英文的分号隔开),重启计算机。
    这里写图片描述

    接着
    将GnuWin32\bin中的libgsl.dll和libgslcblas.dll复制到VS的安装目录bin文件夹中。如我的安装目录就在D:\Program Files\Microsoft Visual Studio 10.0\VC\Bin;
    将GnuWin32\include文件夹里的内容复制到VS的安装目录include文件夹中。如我的目录就是D:\Program Files\Microsoft Visual Studio 10.0\VC\include下
    将GnuWin32\lib目录下的所有.lib文件全部复制到VS的安装目录lib文件夹中

  6. 为了保险起见,最好还是需要到VS里面去指定路径。
    打开VS,创建一个控制台应用程序,在属性管理器窗口右键打开打开属性对话框,选择:配置属性→VC++目录:
    这里写图片描述
    依次在
    “包含目录”添加GunWin32文件夹里的include文件夹
    “库目录”添加GunWin32文件夹里的lib文件夹
    “源目录”添加GunWin32文件夹里的\src\gsl\1.8文件夹

选择:连接器→输入→附加依赖项:
这里写图片描述
添加附加依赖项:
libgsl.lib
libgslcblas.lib

选择:项目→属性→c/c++→预处理器→预处理器定义→添加 GSL_DLL
这里写图片描述

7.
最后,实验代码:

#include <iostream>

 #include <gsl_sf.h>

 int main()

 {

        std::cout << gsl_sf_gamma_inc( 1.5, 0.5 ) << std::endl;

        std::cout << gsl_sf_gamma_inc_Q( 1.5, 0.5 ) << std::endl;

        std::cout << gsl_sf_gamma_inc_P( 1.5, 0.5 ) << std::endl;

        std::cin.get();

        return 0;

 }

生成结果:
这里写图片描述

至此,GSL环境终于搭建好了,可以愉快地使用粒子滤波算法啦~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值