vs2017 动态链接库

PBC库下载地址:https://crypto.stanford.edu/pbc/download.html

使用PBC库需要用到gmp.h

GMP库下载地址:https://gmplib.org/

 

本文用到的pbc.lib与pbc.dll是pbc-0.5.14-win32-bin.zip中的

PBC和GMP的头文件是官网源代码包中的

 

PBC的头文件需要一些修改,参照 http://stackoverflow.com/questions/25446726/running-pbc-in-windows-visual-studio

 

附上需要用到文件的整合:http://pan.baidu.com/s/1hsMFT44 密码:j5fl

 

配置过程

双击该属性表,我们要补充的内容有三处:

  • 包含目录,即头文件目录
  • 库目录,即.lib文件目录
  • 库文件,即用于链接的.lib文件全称

记住,我们配置所有库,基本思路都是这样的。有人说,还有个dll的配置呢。那是运行时的问题,我们待会再说。

点击左边导航,到”VC++目录”,要修改的即是”包含目录”和”库目录”,前者让我们顺利include库的头,后者让我们顺利将其接口链接进我们的程序。 
属性表改写1
上面的内容只是示意。有个细节,属性表中黑体部分的意思是,此处内容非默认内容的意思。

双击以上右边的栏目,可以编辑目录,目录可以追加多条。打开OpenCV所在目录,将 
- XXX/opencv/build/include 
- XXX/opencv/build/include/opencv2 
- XXX/opencv/build/include/opencv 
添加至”包含目录”中(XXX为你的根目录)

将XXX/opencv/build/x64/vc14/lib添加至”库目录”。

点击”应用”一下,然后点击左边导航到链接器->输入,我们需要将.lib的全称(包括后缀)写在”附加依赖项“。 
属性表修改2
这个是OpenCV提供给我们程序链接的接口,它的全称去哪找呢?还记得刚才的库目录吗,链接的时候vs就会去库目录下寻找库文件.lib进行链接,所以名称可以在库目录下找到:opencv_world310.lib

注意到,该目录下有另外一个.lib文件,可以发现其名字后带了个d,说明它是debug版本的,一般来说,我们不要将不同模式版本的同一个库同时链接,因此就不填它。老版本的opencv有很多个.lib文件,添加的时候就很烦,因此我们用新版本也是有道理的。

到这里,点”确定”,该属性表就配置好了。想要试试看是否成功?那么在这个工程的main.cpp中随便写点代码吧:

#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
    Mat image;
    return 0;
}

注意,编译的时候,vs上中部的调试器选择,需要调为release x64的,并且保证,”属性管理器”在该模式下,包含了刚才我们新建的属性表。

此时运行是会报错的,没错,就是缺少dll,这个时候我们可以通过添加系统变量的方法来做,但鉴于在(1)中谈到的利弊,我们采取以下的方法:

点击右方的”解决方案资源管理器”->右键项目->属性->调试。双击”环境”,弹出对话框,输入path=XXX/opencv/build/x64/vc14/bin/;

原文链接:加载失败,请重新获取