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://*.com/questions/25446726/running-pbc-in-windows-visual-studio
附上需要用到文件的整合:http://pan.baidu.com/s/1hsMFT44 密码:j5fl
配置过程
双击该属性表,我们要补充的内容有三处:
- 包含目录,即头文件目录
- 库目录,即.lib文件目录
- 库文件,即用于链接的.lib文件全称
记住,我们配置所有库,基本思路都是这样的。有人说,还有个dll的配置呢。那是运行时的问题,我们待会再说。
点击左边导航,到”VC++目录”,要修改的即是”包含目录”和”库目录”,前者让我们顺利include库的头,后者让我们顺利将其接口链接进我们的程序。
上面的内容只是示意。有个细节,属性表中黑体部分的意思是,此处内容非默认内容的意思。
双击以上右边的栏目,可以编辑目录,目录可以追加多条。打开OpenCV所在目录,将
- XXX/opencv/build/include
- XXX/opencv/build/include/opencv2
- XXX/opencv/build/include/opencv
添加至”包含目录”中(XXX为你的根目录)
将XXX/opencv/build/x64/vc14/lib添加至”库目录”。
点击”应用”一下,然后点击左边导航到链接器->输入,我们需要将.lib的全称(包括后缀)写在”附加依赖项“。
这个是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/;
上一篇: 第四次作业
下一篇: R语言由浅入深:二、数据处理